728x90
반응형
✨ 문제
https://www.acmicpc.net/problem/10988
알파벳 소문자로 이뤄진 문자열을 입력받아 팰린드롬인지 판별하는 문제이다.
팰린드롬인 경우 1, 아닌 경우 0을 리턴해야한다.
팰린드롬은 eye처럼 앞으로 읽어도 뒤로 읽어도 똑같은 단어를 말한다.
✨ StringBuilder.reverse()
문자열 관련 클래스 중 reverse하는 메소드를 가진 클래스가 있을 것 같아 찾아보니 StringBuilder에 reverse 메소드가 있었다. StringBuffer에도 reverse 메소드가 존재하는데, StringBuffer는 멀티쓰레드에 안전하도록 동기화되어 있는데, 동기화가 성능을 떨어뜨린다. 그래서 멀티쓰레드 프로그램이 아닌 경우에는 StringBuffer에서 동기화만 빠진 StringBuilder를 사용하여 성능을 향상시킬 수 있다.
✨ 코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
StringBuilder sb = new StringBuilder(input);
if (input.equals(sb.reverse().toString())) System.out.println("1");
else System.out.println("0");
}
}
StringBuilder의 reverse를 사용하여 입력받은 문자열과 reverse한 결과가 같으면 1, 아닌 경우 0을 리턴하도록 코드를 작성하였다.
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준 10989] Counting Sort (계수 정렬) 알고리즘 (0) | 2024.10.19 |
---|---|
Java에서 최소값 찾는 가장 효율적인 방법 : 직접 비교, Stream API, Collection.min() (2) | 2024.09.13 |
[백준 15552] 빠른 A+B, BufferedReader, BufferedWriter (2) | 2024.07.24 |
프로그래머스 181913 문자열 여러번 뒤집기 (25) | 2024.01.19 |
스택과 큐 (0) | 2023.08.24 |