6. 기준에 맞춰 재정렬하기
알파벳순, 숫자순 등 특정 기준이 주어지면 그 기준으로 문자열을 정렬하거나 추출하는 작업이 필요한 문제 유형입니다. 이 유형 자체의 난이도는 높지 않지만, 매우 높은 확률로 여기에 추가 조건이 제시되면서 난이도가 높아집니다. 예를 들면 정렬한 후 숫자나 문자를 모두 더하라고 하거나, 그 중에서 어떤 단어가 가장 많이 사용되었는지 체크하라는 등 다양한 방법으로 데이터를 활용하라고 요구합니다. 가장 많이 사용하는 라이브러리는 collections이며, 단어를 세는 것 이외에도 많은 일을 할 수 있어 여러 방면으로 활용됩니다.
7. 문자열 치환하기
특정 위치의 단어를 제시된 단어로 변경하는 유형입니다. 문자열의 특정 위치에 있는 단어를 찾을 수 있어야 합니다. 문제만 보면 굉장히 쉬워 보이지만 실제로 구현해보면 상당히 어렵다고 느낄 수 있습니다. 생각나는 그대로 코딩하면 단어를 순차적으로 살펴보면서 ‘지금까지 살펴본 단어가 원하는 단어인지 확인하고 수정해야 하나?’라는 생각에 빠져 코드가 굉장히 복잡해지기 쉽습니다.
이럴 때는 string에 있는 replace() 함수를 적극 사용합니다. 직접 무언가를 구현해서 해결하기보단 활용할 수 있는 함수를 여럿 조합하여 원하는 작업을 수행하도록 유도하는 것이 좋습니다. 어려운 문제는 쉽게 풀 수 있는 방법이 없는지 계속 고민해야 합니다.