728x90
문제
https://www.acmicpc.net/problem/13419
풀이
주어진 문자열에 대해 두 명이 탕수육 게임을 한다고 한다.
자신의 차례 때 말해야 하는 문자로만 이루어진 최소 문자열을 출력하는 문제다.
자신의 순서(0 또는 1번 인덱스)에서 2개씩 건너뛰며 다시 자신의 순서로 돌아올 때 까지 문자를 선택하면 된다.
int idx = 0;
StringBuilder a = new StringBuilder();
StringBuilder b = new StringBuilder();
do {
a.append(S.charAt(idx));
idx = (idx + 2) % S.length();
} while (idx != 0);
만약 두 번째 플레이어의 경우 주어진 문자열의 길이가 1일 수 있다.
시작 인덱스가 1이 아닌 0이라면 주어진 문자열을 그대로 출력해 예외 처리하자.
if (idx == 0) {
b.append(S);
} else {
do {
b.append(S.charAt(idx));
idx = (idx + 2) % S.length();
} while (idx != 1);
}
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/13419.java
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 19564] 반복 [Java] (0) | 2025.03.15 |
---|---|
[백준 04150] 피보나치 수 [Java] (0) | 2025.03.15 |
[백준 14656] 조교는 새디스트야!! [Java] (0) | 2025.03.15 |
[백준 01354] 무한 수열 2 [Java] (0) | 2025.03.14 |
[백준 01052] 물병 [Java] (0) | 2025.03.14 |