728x90
문제
https://www.acmicpc.net/problem/10988
주어진 문자열이 팰린드롬인지 확인하는 문제로, 팰린드롬(Palindrome)이란 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 문자열을 의미한다.
접근 방법
팰린드롬은 첫 번째 문자와 마지막 문자가 같고, 두 번째 문자와 끝에서 두 번째 문자가 같은 식으로 쌍을 이루어야 합니다. 이를 반복하여 문자열의 길이의 절반만큼 비교하면 된다.
풀이 과정
- 입력 받기: 문자열을 입력받습니다.
- 팰린드롬 확인: 문자열의 앞쪽 문자와 뒤쪽 문자를 순서대로 비교합니다.
- 반복문 사용: 반복문을 통해 문자열의 길이의 절반만큼 비교하면서 문자가 다르면 팰린드롬이 아님을 확정할 수 있습니다.
- 결과 출력: 모든 쌍이 일치하면 팰린드롬으로 판단하고 1을 출력, 하나라도 다르면 0을 출력합니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
// 문자열이 팰린드롬인지 확인하기 위해 앞뒤로 비교
boolean isPalindrome = true;
int length = input.length();
for (int i = 0; i < length / 2; i++) {
if (input.charAt(i) != input.charAt(length - 1 - i)) {
isPalindrome = false;
break;
}
}
// 팰린드롬이면 1, 아니면 0 출력
System.out.println(isPalindrome ? 1 : 0);
}
}
메모리:14244kb 시간:100ms
728x90
'IT 개발 관련 > [Algorithm]' 카테고리의 다른 글
[백준] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 - Java (0) | 2024.08.30 |
---|---|
[백준] 1316번: 그룹 단어 체커 - Java (0) | 2024.08.29 |
[백준] 2346번: 풍선 터뜨리기 - Java (0) | 2024.08.27 |
[백준] 18770번: 좌표 압축 - Java (0) | 2024.08.26 |
[백준] 1966번: 프린터 큐 - Java (0) | 2024.08.25 |