https://www.acmicpc.net/problem/6137
투포인터 문제다.
풀이
시작을 나타내는 인덱스 head, 끝을 나타내는 인덱스 tail을 생성하여 각각 0과 n-1을 부여. (head <= tail)인 순간까지 문자열 S를 탐색한다. 매 반복문마다 더 먼저 오는 문자를 출력할 문자열에 더해주고 해당 인덱스를 증가시킨다.
head와 tail이 가리키는 문자가 같다면, head ~ tail 범위의 문자열과 역순의 문자열을 비교하여 순서가 먼저인 문자열 측의 문자를 추가하면 된다.
80자마다 줄 바꿈 "\n"을 출력해야 한다는 점을 잊지 말자. 본인의 경우 문자열에 "\n"을 추가한 뒤 마지막에 한 번에 출력하게끔 코드를 작성했는데, "\n" 문자열도 포함돼서 카운트하는 바람에 오답판정을 받았다.
정답 코드
'Problem Solving > BOJ' 카테고리의 다른 글
[15831] 준표의 조약돌 (0) | 2023.01.23 |
---|---|
[12892] 생일 선물 (0) | 2023.01.21 |
[22862] 가장 긴 짝수 연속한 부분 수열 (large) (0) | 2023.01.19 |
[1484] 다이어트 (0) | 2023.01.18 |
[2118] 두 개의 탑 (0) | 2023.01.17 |