[Java] 백준 1259번 팰린드롬수
2022. 3. 29. 09:31
728x90
https://www.acmicpc.net/problem/1259
1259번: 팰린드롬수
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.
www.acmicpc.net
이번 문제는 앞뒤가 똑같으면 팰린드롬수입니다.
반을 쪼개서 비교하는 방법도 있지만 메모리나 시간초과가 발생하지 않을꺼 같아서
저는 그냥 리버스 배열을 하나 만들어 줘서 비교해줬습니다.
리버스 배열을 만들어서 원래 배열과 비교해줘서 같은 문자의 갯수가
입력받은 문자열의 길이와 같다면 팰린드롬수입니다.
package BJ;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BJ_팰린드롬수 {
static String str;
static char[] arr1;
static char[] arr2;
static int cnt;
public static void main(String[] args) throws IOException {
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
while(true) {
str = br.readLine();
if(str.equals("0")) {
break;
}
int len = str.length();
arr1 = new char[len];
arr2 = new char[len];
for (int i = 0; i < len; i++) {
arr1[i] = str.charAt(i);
}
for (int i = 0; i < len; i++) {
arr2[i] = arr1[len - 1 - i];
}
for (int i = 0; i < len; i++) {
if(arr1[i] == arr2[i]) {
cnt++;
}
}
if(len == cnt) System.out.println("yes");
else System.out.println("no");
cnt = 0;
}
}
}
Ysik Github : https://github.com/Y1sik/Algorithm/blob/main/BJ/BJ_%ED%8C%B0%EB%A6%B0%EB%93%9C%EB%A1%AC%EC%88%98.java
반응형
'알고리즘' 카테고리의 다른 글
[Java] 백준 1032번 명령 프롬프트 (0) | 2022.03.31 |
---|---|
[Java] 백준 1100번 하얀 칸 (0) | 2022.03.30 |
[Java] 백준 10808번 알파벳 개수 (0) | 2022.03.28 |
[Java] 백준 4949번 균형잡힌 세상 (0) | 2022.03.27 |
[Java] 백준 1541번 잃어버린 괄호 (0) | 2022.03.26 |