💻 문제


일단 이해하자🤔
- 문자열
str을 받아 char형 배열 ch에 한 글자씩 넣고 for문을 이용해서 ch[i]와 ch[ch.length - i - 1]이 같은지 비교한다. 같으면 true, 다르면 false를 반환한다.
👀 풀이
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = bfr.readLine();
char ch[] = new char[str.length()];
boolean palindrome = false;
for (int i = 0; i < ch.length; i++) {
ch[i] = str.charAt(i);
}
for (int i = 0; i < ch.length / 2; i++) {
if (ch[i] == ch[ch.length - i - 1]) {
palindrome = true;
} else {
palindrome = false;
break;
}
}
if (ch.length == 1) {
palindrome = true;
}
if (palindrome) {
bfw.write("1");
} else {
bfw.write("0");
}
bfr.close();
bfw.flush();
bfw.close();
}
}
아쉬웠던 점••
- 한 글자가 입력될때는 0이 출력되어 따로 if문에서 문자열의 길이가 1일때는
true가 되도록 설정해주었는데 이렇게 따로 설정하지 않고도 1이 출력되는 방법이 있을까?