본문 바로가기
PS/Baekjoon

[Baekjoon] 1259 - 팰린드롬수

by 서현 SEOHYEON 2023. 2. 5.

📝 문제

 

 

 

🔑 풀이 과정

① 여러 개의 테스트 케이스를 받아야 하니 반복문을 사용한다.

입력받은 문자열이 "0"이면 반복문 탈출

② int형 변수 start, end를 선언한다.

이 두 변수는 문자열의 문자를 가리키는 포인터 역할을 할 것이다.

처음엔 start는 0, end는 (문자열의 길이 -1)로 초기화 해준다.

 

1) 그리고 start와 end가 가리키는 문자가 같으면 start는 1증가, end는 1감소를 시킨다. → 이것을 반복

start와 end가 가리키는 문자가 달라지면 no를 출력하게 하고 반복문 탈출

2) start가 end보다 같거나 커지면 검사 종료

 

 

🔓 답안

import java.io.*;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        for( ; ; ){
            String str = br.readLine();
            if(str.equals("0"))
                break;

            int start = 0;
            int end = str.length() - 1;
            String ans = "yes";

            while(start < end){
                if(str.charAt(start) == str.charAt(end)){
                    start++;
                    end--;
                } else{
                    ans = "no";
                    break;
                }
            }

            bw.write(ans + "\n");
        }

        bw.flush();
        bw.close();
    }

}

 

 

 

🖤 알고리즘 분류

- 구현

- 문자열

'PS > Baekjoon' 카테고리의 다른 글

[Baekjoon] 1018 - 체스판 다시 칠하기  (0) 2023.02.07
[Baekjoon] 7568 - 덩치  (0) 2023.02.06
[Baekjoon] 15829 - Hashing  (0) 2023.02.04
[Baekjoon] 11724 - 연결 요소의 개수  (0) 2023.02.03
[Baekjoon] 3009 - 네 번째 점  (0) 2023.02.02

댓글