문제
알파벳 소문자로만 이루어진 단어가 팰린드롬인지 판별하라.
입력
첫째 줄에 단어가 주어진다 (길이 1 이상 100 이하).
출력
팰린드롬이면 1, 아니면 0을 출력한다.
예제
| 입력 | 출력 |
|---|---|
level | 1 |
풀이
StringBuilder의 reverse()로 뒤집은 문자열과 원본을 비교한다.
- 입력 문자열로 StringBuilder를 생성한다
reverse()로 뒤집은 문자열과 원본을equals()로 비교한다- 같으면 1, 다르면 0을 출력한다
핵심 아이디어: Java의 StringBuilder.reverse()를 활용하면 한 줄로 팰린드롬 판별이 가능하다.
코드
package day499;
import java.io.*;
public class Day490BOJ10988팰린드롬인지 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder(br.readLine());
bw.write(((sb.toString().equals(sb.reverse().toString())) ? 1 : 0) + "\n");
bw.flush();
bw.close();
br.close();
}
}복잡도
- 시간: O(L) (L: 문자열 길이)
- 공간: O(L)