-
[Baekjoon Online Judge] 1259번: 팰린드롬수문제 풀이/Baekjoon Online Judge 2021. 2. 18. 00:03
요구사항
- 어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다. 수도 팰린드롬으로 취급할 수 있다.
- 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다.
- 또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 가정한다.
입력
- 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.
출력
- 각 줄마다 주어진 수가 팰린드롬수면 'yes', 아니면 'no'를 출력한다.
앞서 풀었던 팬린드롬수와 거의 유사한 문제이다.
2021/02/05 - [문제 풀이/문자열] - [Baekjoon Online Judge] 10988번: 팰린드롬인지 확인하기
단지 다수의 입력에 대응하기 위해 while 문을 추가하여 해결하였다.
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Baekjoon1259 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out)); String word = bufferedReader.readLine(); while (!word.equals("0")) { if (word.length() == 1) { bufferedWriter.write("yes\n"); } else { for (int i = 0; i < word.length() / 2; i++) { if (word.charAt(i) != word.charAt(word.length() - 1 - i)) { bufferedWriter.write("no\n"); break; } if (i == word.length() / 2 - 1) bufferedWriter.write("yes\n"); } } word = bufferedReader.readLine(); } bufferedWriter.flush(); bufferedReader.close(); bufferedWriter.close(); } }
'문제 풀이 > Baekjoon Online Judge' 카테고리의 다른 글
[Baekjoon Online Judge] 11365번: !밀비 급일 (0) 2021.02.18 [Baekjoon Online Judge] 10987번: 모음의 개수 (0) 2021.02.18 [Baekjoon Online Judge] 1620번: 나는야 포켓몬 마스터 이다솜 (0) 2021.02.15 [Baekjoon Online Judge] 1620번: LCS 2 (0) 2021.02.15 [Baekjoon Online Judge] 14501번: 퇴사 (0) 2021.02.13