Study/알고리즘

백준 1259번 - 팰린드롬수 JAVA

토기발 2022. 8. 2. 00:08

이 문제는 맨 앞 숫자와 맨 뒷 숫자를 비교해서 같은지 확인하고 두번째 숫자와 맨 뒤의 숫자-1 의 숫자와 비교하고..를 반복하면 되는 문제이다.

그러려면 글자를 하나씩 떼어야 하는데 그러기 위해 또 charAt()를 쓴다. 한글자 떼는걸로 끝나는게 아니라 앞뒤를 비교해야 하기 때문에 글자 수에 맞춘 배열에 차례로 넣었다.

 


 

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		String N; //주어지는 수
		
		while (true) {
			N = in.next();
			if (N.equals("0")) break;
			
			char [] charN = new char[N.length()];
			for (int i = 0; i < N.length(); i++) {
				charN[i] = N.charAt(i); //한자리에 한글자씩 배열에 넣기
			}
			boolean flag = true; //yes no 확인하는 플래그
			for (int i = 0; i < charN.length -1 -i; i++) {
				//시작하는 수와 끝나는 수 비교 (점점 가까워짐)
				if (charN[i] != charN[charN.length -(1 + i)]) {
					flag = false;
					break;
				}
			}
			if (flag) {
				System.out.println("yes");
			}else {
				System.out.println("no");
			}
		}
	}
}

 

설명은 주석에....

'Study > 알고리즘' 카테고리의 다른 글

1193번 - 분수찾기 JAVA  (0) 2022.08.05
백준 1173번 - 운동 JAVA  (0) 2022.08.04
백준 1159번 - 농구 경기 JAVA  (0) 2022.07.30
백준 1157번 - 단어 공부 JAVA  (0) 2022.07.28
백준 1145번 - 적어도 대부분의 배수 JAVA  (0) 2022.07.27