Replace
-
짝지어 제거하기 C++프로그래머스(Programmers) 2021. 12. 31. 00:31
입출력 예 s result baabaa 1 cdcd 0 입출력 예 설명 입출력 예 #1 위의 예시와 같습니다. 입출력 예 #2 문자열이 남아있지만 짝지어 제거할 수 있는 문자열이 더 이상 존재하지 않기 때문에 0을 반환합니다. #include #include #include using namespace std; int solution(string s) { int answer = 0; stack st; for(int i=0; i 효율성과 정확성을 위해 stack을 사용하면 간단한 문제였습니다. *저는 pair를 사용하면서 비교를 하다 보니 효율성에서도 정확성에서도 틀리고 말았습니다. (그래도 replace 함수 공부는 하게 되었습니다.) => 질문글들을 보면 stack에 쌓으며 가장 위에 있는 값과 현재 ..
-
백준 2941 - 크로아티아 알파벳카테고리 없음 2020. 6. 17. 16:36
=> 문자열을 다룰 줄 아는지 물어보는 문제입니다. => string 헤더를 제대로 이해하고 내장되어있는 함수들을 통해 풀 수 있습니다. => 저는 처음에 if문으로 구현할 수 있을 줄 알았는데, 해당 방식으로 하면 참조하지 말아야 할 위치를 참조하는 등의 잘못이 생깁니다. => string의 find() 함수와 replace 함수를 적절히 사용하여야 합니다. 크로아티아 알파벳을 담을 배열을 생성하고 초기화한다. 해당 크로아티아알파벳을 찾을 경우 해당 구간을 *로 바꿔준다 위의 과정은 같은 단어가 여러 번 들어가 있을 경우를 위해 다시 검색되지 않도록 하기 위해서 하는 과정이다. 해당 과정을 진행하며, 크로아티아 알파벳의 개수와 해당 알파벳의 길이를 점진적으로 구한다. 문자열의 길이 - 크로아티아 알파벳..