SMALL
1. 문제
https://www.acmicpc.net/problem/10988
10988번: 팰린드롬인지 확인하기
첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.
www.acmicpc.net
2. 주요 개념
- Scanner
- charAt()
- 반복문 (for문)
- 조건문 (if ~ else문)
- continue, break
3. 나의 풀이 (*은 잘 안풀린 부분)
import java.io.*;
import java.util.*;
// 팰린드롬: 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어
class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = s.next(); // 문자열 입력받기
String str_rev = ""; // 거꾸로 저장된 문자열
int i, j, result = 0;
for (i = str.length() - 1; i >= 0; i--) {
str_rev += str.charAt(i);
// 맨 뒤의 문자부터 차례대로 받기
}
for (j = 0; j < str.length(); j++) {
if (str.charAt(j) == str_rev.charAt(j)) {
result = 1;
continue; // 다른 문자들도 비교하기
} else { // ** 문자가 서로 다르다는 것을 하나라도 발견한 순간 바로 "0"처리
result = 0;
break;
}
}
System.out.println(result);
}
}
4. 짚고 넘어가기!
- 원래 문자열과 뒤집은 문자열에서 한 글자씩 꺼내기 > charAt()
- 비교 시, 한 번이라도 문자가 서로 다른 경우 > break로 조건문 끝내버림!
- 비교할 때, 문자가 서로 같으면 계속 진행 > continue!
728x90
'Algorithm > Java' 카테고리의 다른 글
[백준] n.4344 - 각 학생 수 별로 평균이 넘는 비율 구하기 (0) | 2023.05.29 |
---|---|
[백준] n.1157 - 가장 많이 사용된 알파벳 출력 (0) | 2023.05.27 |
[백준] n.2444 - 마름모모양 별 찍기 (중앙 정렬, 규칙에 따라) (0) | 2023.05.25 |
[백준] n.11718 - 입력 값 그대로 출력하기 (0) | 2023.05.24 |
[백준] n.5622 - 다이얼에 해당하는 문자 식별&사용 시간 구하기 (0) | 2023.05.23 |
댓글