알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

 

문제와 동일


Think🤔

 

문제에서 0을 만나면 끝나고 , 101 true 1234 false 양 끝이 똑같을 경우 true를 가지게 됨 이게 팰린드롬수.

출력오류가 발생하는데
마지막에 끝나는 입력값이 0하면 출력이 안되고 끝나야해서 while(!str.equals("0")){ 넣었는데
이렇게 하면 br.readLine이 하나밖에 받지못함.. while문 내부에 있어야지 계속해서 입력되는 br.readLine으로 한줄한줄 받음.


Solution✍

 

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		while(true){
			String str = br.readLine();
			if(str.equals("0")){break;}
			
			boolean flag = true;
			for(int i=0; i<str.length() / 2; i++){ 
				if(str.charAt(i) != str.charAt(str.length()-i-1)){
					flag = false;
					break;
				}
			}
			if(flag){
				System.out.println("yes");
			}else{
				System.out.println("no");
			}
		}
	}
}

Review🤩

 

length() 괄호 뺴먹어서 틀림
length는 int 배열 길이 가져올때.
str.length()-i-1 빼기1을 해줘야 함.


 

+ Recent posts