[코딩 챌린지 11기 새싹반] 백준 10988 - 팰린드롬인지 확인하기 (Java)

2025. 4. 13. 23:07·알고리즘, 자료구조
반응형

📌 문제

문제명 백준 10988 - 팰린드롬인지 확인하기
Link https://www.acmicpc.net/problem/10988
분류 문자열, 구현
난이도 B3
풀이 일자 2025-04-13

 

📌 문제 탐색하기

알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.

팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. 

level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.

 

위에 문제에서 필요한 변수 

input - 입력 받는 문자열

reverse - input에 거꾸로 된 문자열

 

즉, 문제를 해결할려면 reverse를 어떻게 해야하는가 중요한데 자바에서는 두가지 방법이 있다

1. 반복문을 통해 기존 문자열에 끝에서 charAt함수로 한개씩 append하기

2. reverse함수를 이용하여 기존 문자열을 거꾸로 변경하기

 

문제에서는 입력 문자열을 100자 이내로 제한을 했기 때문에 성능에서는 1번이나 2번이나 크게 차이가 없다 간결한 2번을 사용하여 풀기로 결정 

 

문자열 라이브러리 제한이 있으면 chatAt()으로 해야함!

문자열 길이가 길면 reverse()로 하는게 유리함!

📌 코드 설계하기

1. 단어를 입력 받음

2. StringBuilder reverse()함수를 통해 위 단어에 거꾸로 된 문자열을 저장

3. 비교하고 출력하기

 

📌 시도 회차 수정 사항 (Optional)

없음

📌 정답 코드

package org.example.day07;

import java.io.*;

/**
 * description    : 백준 10988 - 팰린드롬인지 확인하기
 * packageName    : org.example.day07
 * fileName        : Day07_BaekJoon_Q10988
 * author         : kimjongha
 * date           : 25. 4. 13.
 * ===========================================================
 * DATE              AUTHOR             NOTE
 * —————————————————————————————
 * 25. 4. 13.        kimjongha       최초 생성
 */
public class Day07_BaekJoon_Q10988 {

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

        // 1. 단어를 입력 받음
        String input = br.readLine();
        // 2. StringBuilder reverse함수를 통해 위 단어에 거꾸로 된 문자열을 저장
        String reverse = new StringBuilder(input).reverse().toString();
        // 3. 비교하고 출력하기
        bw.write(input.equals(reverse) ? "1" : "0");
        bw.flush();
        bw.close();


    }

}

📌 느낀점

charAt(), reverse() 비교하여 상황에 따라 적절하게 사용하는게 중요하다

반응형

'알고리즘, 자료구조' 카테고리의 다른 글

[코딩 챌린지 11기 새싹반] 백준 2750 - 수 정렬하기 (Java)  (2) 2025.04.15
[코딩 챌린지 11기 새싹반] 백준 1152 - 단어의 개수 (Java)  (2) 2025.04.14
[코딩 챌린지 11기 새싹반] 백준 2738 - 행렬 덧셈 (Java)  (1) 2025.04.12
[코딩 챌린지 11기 새싹반] 백준 10818 - 최소, 최대 (Java)  (1) 2025.04.11
[코딩 챌린지 11기 새싹반] 백준 8393 - 합  (0) 2025.04.10
'알고리즘, 자료구조' 카테고리의 다른 글
  • [코딩 챌린지 11기 새싹반] 백준 2750 - 수 정렬하기 (Java)
  • [코딩 챌린지 11기 새싹반] 백준 1152 - 단어의 개수 (Java)
  • [코딩 챌린지 11기 새싹반] 백준 2738 - 행렬 덧셈 (Java)
  • [코딩 챌린지 11기 새싹반] 백준 10818 - 최소, 최대 (Java)
아르꼬
아르꼬
항상 배우려는 자세로 임하는 개발자!
  • 아르꼬
    아르꼬의 코딩일기
    아르꼬
  • 전체
    오늘
    어제
    • 분류 전체보기 (35)
      • Spring (7)
      • Vue (2)
      • API (2)
      • IDE (1)
      • 알고리즘, 자료구조 (21)
      • 프로젝트 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    #스프링 #spring
    #알고리즘 #자료구조 #백준 #코딩테스트
    #Vue #OpenLayer #Spring boot #vue-resizable #version #호환
    #유효성검사 #밸리데이션 #validator
    아임포트 #API #KG이니시스 #자바스크립트 #js #스프링부트 #스프링 부트 #스프링 #JPA #I'm port #코딩
    알고리즘 #자료구조 #코딩테스트 #백준
    #스프링 #spring #spring boot #스프링 부트 #PostConstruct #PreDestroy #maven #pom.xml
    IntelliJ #인텔리제이 #Gradle #그레이들 #빌드 #빌드변경
    #스프링 #jdbc #jdbcTemplate #spring
    #스프링 #Spring #스프링 레거시 #톰캣 #tomcat #기본경로 #실행경로 #변경
    코딩테스트챌린지 #알고리즘 #백준 #자바
    스프링 #오류 #스프링 부트 #@Configuration
    #알고리즘 #자료구조 #코딩테스트 #백준
    #Vue #js #뷰 #자바스크립트 #javascript #
    #스프링 #spring #
    #Vue #node #node.js #Visual code #vs code
    #자바 #Java #스프링 #spring #이클립스 #eclipse #에러 #스프링 에러
    #mvc #게시판 #mvc게시판
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
아르꼬
[코딩 챌린지 11기 새싹반] 백준 10988 - 팰린드롬인지 확인하기 (Java)
상단으로

티스토리툴바