현재
[Java][BaekJoon][10988] 팰린드롬인지 확인하기 본문
<문제의도>
배열의 첫 번째 값과, 배열의 끝 값을 순차적으로 비교할 수 있느냐 묻는 문제이다.
<풀이코드>
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
String s = scn.nextLine();
int result = 1;
char word [] = new char[s.length()];
for ( int x = 0 ; x < s.length(); x++){
word [x] = s.charAt(x);
}
for ( int x = 0 ; x < s.length() / 2; x++){ //s.length 가 5, 0,1,2,3,4
if(word [x] == word [s.length()-(x+1)]){// 0이랑 4
result = 1; // 1이랑 3
// 2이랑 2
}else if (word [x] != word [s.length()-(x+1)]){
result = 0 ;
break;
}
}
System.out.println(result);
}
}
<풀이과정>
예전에 for문에서 변수두개를 써서 문제를 해결했던 적이 있는데 이번에는 그렇게 하고싶지않아서
새로운 방법을 찾아봤다. 그래서 길이를 2로 나누는걸로 문제를 해결하였다.
하지만 다른 문제에서는 가운데값을 비교할 수 가 없어서 문제가 생길수도 있는 알고리즘 이라고 생각한다.
<문제출처>
https://www.acmicpc.net/problem/10988
10988번: 팰린드롬인지 확인하기
첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.
www.acmicpc.net
'알고리즘 > 백준' 카테고리의 다른 글
| [Java][BaekJoon][1157] 단어 공부 (0) | 2023.09.29 |
|---|---|
| [Java][BaekJoon][10988] 별 찍기-7 (0) | 2023.09.28 |
| [Java][BaekJoon][25206] 너의 평점은 (0) | 2023.09.26 |
| [Java][BaekJoon][3003] 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.09.26 |
| [Java][BaekJoon][5622]다이얼 (1) | 2023.09.25 |