1259번: 팰린드롬수
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.
www.acmicpc.net
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String num = br.readLine();
if (num.equals("0")) {
break;
}
String numLeft;
String numRight;
if (num.length() % 2 == 0) {
numLeft = num.substring(0, (num.length() / 2));
numRight = num.substring(num.length() / 2);
} else {
numLeft = num.substring(0, (num.length() / 2));
numRight = num.substring((num.length() / 2) + 1);
}
StringBuffer sb = new StringBuffer(numRight);
String reversedNumRight = sb.reverse().toString();
if (numLeft.equals(reversedNumRight)) {
System.out.println("yes");
} else {
System.out.println("no");
}
}
}
}
깨달은 점:
한번에 비교하면서 할 수도 있음.
for (int i = 0; i < str.length()/2; i++) {
if (str.charAt(i) != str.charAt(str.length() - 1 - i)) chk = false;
}
예, 아니오 두가지 결과값이라면 boolean 타입을 쓰는 것이 직관적
간단한 조건문은 중괄호 생략하는 것이 직관적
'Java > AlgorithmPS' 카테고리의 다른 글
백준) 스택 수열(1874번) (0) | 2023.09.22 |
---|---|
백준) 세로읽기(10798번) (0) | 2023.09.20 |
백준) 2007년(1924번) (0) | 2023.09.19 |
백준) 부녀회장이 될테야(2775번) (0) | 2023.09.18 |
백준) 단어 공부(1157번) (0) | 2023.09.17 |