본문 바로가기

문자열38

[백준 1543/c++] 문자 검색 - 문자열 stirng 의 내장 멤버함수인 find를 사용해서 해당 중복 인덱스를 찾고, 그 새 인덱스로 검색 시작 인덱스를 갱신하며 카운트 하는 문제였다 생각보다 쉽게 풀이가 가능했다 #include using namespace std; int main(){ string s; string t; int cnt=0; int nbe=0; getline(cin, s); getline(cin, t); while(s.find(t, nbe)!=string::npos){ nbe=s.find(t, nbe) + t.length(); cnt++; } cout 2022. 6. 24.
[백준 1316/c++] 그룹 단어 체커 - 문자열 연속되는 문자가 아니라면 이전에 나온적이 있던 문자인지 확인한다 연속되지 않는 문자가 이전에 나온적 있는 문자라면, 그 단어는 그룹단어가 아니다 이를 확인하기 위해서 문자들이 나올때마다 그 문자에 해당하는 배열에 0으로 초기화 후 하나씩 카운트를 하여 "그 배열의 매칭되는 문자의 값이 0이 아니며, 앞의 문자와 같으면 확인 안하므로 다를때만 확인해야 하므로 앞과 다른지 여부 확인, 앞에 비교할 문자가 있어야 하므로 2번째 문자부터 확인해야 해야 되는" 조건에 부합한다면 그 문자는 나온적이 있는 문자이므로, 그룹단어가 아니라고 체크 그룹단어가 아니라고 체크가 안된 단어들의 수를 세어 답을 구한다 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어.. 2022. 6. 24.
[백준 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.
[프로그래머스 1 / c++] 숫자 문자열과 영단어 -map 맵을 이용해서 푸는 문제인건 바로 알 수 있었다 하지만 매칭되지 않으면 빈문자열이 나온다는 점과 매칭되지 않으면 문자를 변수에 저장하고 다음 문자와 합쳐서 합쳐진 변수로 맵과 비교하는 것을 반복하는 점, map 을 외부 함수로 선언 시, 맵을 참조 가능하려면 함수 호출을 해야 되는 점... 많이도 몰랐다 맵은 외부에서 함수로 따로 초기화 외에도 함수 내부에서 초기화 할 수도 있다 #include using namespace std; unordered_map mapi; void cov(){// mapi 을 초기화한 참조데이터를 함수로 따로 만들어 두었다 mapi["zero"]="0";// 이 경우 mapi 이 전역 변수 이므로 mapi["one"]="1";// 여러 함수에서 호출해서 mapi을 사용가능하다.. 2022. 6. 22.