난이도: Bronze 1
프로그래밍 언어: Java
문제명: 팰린드롭수
푼일자: 2021년 6월
주소: https://www.acmicpc.net/problem/1259
문제풀기
이걸고보 음.. index 를 나눠서 검사하면 되지 않나?
라는 생각이 들었다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class question_1259 {
public static void main(String[] args) throws IOException {
var br = new BufferedReader(new InputStreamReader(System.in));
while(true) {
var I = br.readLine().toCharArray();
if (I.length == 1) return;
if (I.length % 2 == 0) {
System.out.println("no");
continue;
}
var result = true;
for (int i = 0; i < (I.length - 1) / 2; i++) {
if (I[i] != I[(I.length - 1) - i]) {
result = false;
break;
}
}
if (result) System.out.println("yes");
else System.out.println("no");
}
}
}
그렇게 완성한 코드.
예제는 다 맞으나 틀렸습니다! 가 계속 나오게 된다.
결국 처음부터 다시 설계를 했다.
import java.io.*;
public class question_1259 {
public static void main(String[] args) throws IOException {
var br = new BufferedReader(new InputStreamReader(System.in));
var line = br.readLine();
while (!line.equals("0")) {
var result = false;
for (var i = 0; i < line.length() / 2; i++)
if (line.charAt(i) != line.charAt(line.length() - i - 1)) {
result = true;
break;
}
if (result) System.out.println("no");
else System.out.println("yes");
line = br.readLine();
}
}
}
채점에 이용되는 입력값을 조금 알 수 있었으면 좋겠다!
끝!
반응형