본문 바로가기

string14

[백준 9012/c++] 괄호 - 문자열 - 스택 스택 문제는 전에 풀어본 적이 있어서 아주 쉽게 풀었다 다른 문제도 이렇게만 풀렸으면... #include using namespace std; int main(){ int n; cin >> n; for(int i=0; i> s; for(auto k : s){ if((stk.size()!=0) && (stk.top()=='(') && k==')'){ stk.pop(); } else{ stk.push(k); } } if(stk.size()!=0){ cout 2022. 6. 23.
stringstream 문자열 입력 버퍼, 자료형이 섞인 string 을 다룰때 사용 strigstream 은 여러 자료형이 섞여있는 string 을 입력 받을 때에 필요한 자료형에 맞는 데이터를 꺼낼때 유용하다 다음은 stringstream 을 사용해서 입력된 string 에서 공백 단위로 잘라 벡터에 푸쉬, 인덱스 추가 하는 문제이다 ' : ' 기호를 공백으로 바꾸어 stringstream 버퍼에 저장된 입력 데이터 가공하고 공백을 통해 분리해서 분리된 입력 요소를 num으로 받아 로 벡터에 push_back하여 저장하고, 인덱스로 꺼내 쓸 수 있다 #include using namespace std; int main(){ vector time; string clock="2022:06:22 15:15:30"; for(int i=0; i>num){ time.push_back(num); .. 2022. 6. 22.
[c++] 벡터, string, 배열 관련해서 주의할 점 1. 벡터는 한번에 cin 입력, cout 출력할 수 없다. 꼭 반복문을 통해서 요소별로 출력해주자 2. 벡터에 벡터는 할당이 불가하다. 벡터 a = 벡터 b; 에서 벡터 b를 벡터 a로 할당할 수 없다 3. 벡터끼리 = 으로 할당은 안되지만, string 끼리는 서로 할당이 가능하다 string a= string b; 가 가능하다. 심지어 string 서로 앞 뒤로 +"s"로 쉽게 붙일 수도 있다 4. 선언만 하고 요소를 추가 하지 않은 벡터도 벡터.size() 로 0의 크기를 얻을 수 있다. l 5. string 의 경우 선언 후 초기화 할당 안해도 문자열.length() , 문자열.size() 로 둘 다 0을 얻을 수 있다 6. push_back() 과 insert() 가 낮은 레벨의 코딩테스트에서.. 2022. 6. 18.
백준 알고리즘 10988번 - 입출력, 입력범위, stirng 이해 부족으로 인한 런타임에러 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); 1. 입출력 속도를 올려주는 위의 경우는 알고리즘 시간초과가 된다면 그 후에 추가하여 시도할 것. 굳이 미리 사용 말자 2. string 의 길이를 구할때는 length(), 벡터의 길이를 구할때는 size()를 써야 한다 3. 문제에서 입력범위가 주어지곤한다. 입력범위는 출제자가 내는 범위이니 내 코드에는 범위 내용을 적을 필요없다. 내 코드는 입력범위가 달라지더라도 항상 올바른 로직이어야 하기 때문이다. 물론 자료형의 판단에는 반영을 해야할것이다 4. string 은 정적할당 배열이 아닌 동적할당 배열이다. 즉, string 은 벡터이다. 그러므로 할당전에는 크기를 알 수 없으며, 인덱.. 2022. 6. 13.