## Java 풀이 시 유의사항 ##
클래스명은 Main 으로 작성해야함!
💡 문제

💬 입출력 예시

📌 풀이(소스코드)
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));
StringBuilder sb = new StringBuilder();
while(true) {
String num = br.readLine();
String flippedNum = new StringBuilder(num).reverse().toString();
if (num.equals("0")) break;
if (num.equals(flippedNum)) {
sb.append("yes\n");
}
else {
sb.append("no\n");
}
}
System.out.println(sb);
}
}
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));
StringBuilder sb = new StringBuilder();
while(true) {
String num = br.readLine();
StringBuilder flippedNum = new StringBuilder();
if (num.equals("0")) break;
for (int i = num.length()-1; i >= 0; i--) {
flippedNum.append(num.charAt(i));
}
if (num.equals(flippedNum.toString())) {
sb.append("yes\n");
}
else {
sb.append("no\n");
}
}
System.out.println(sb);
}
}
📄 해설
- 단순히 문자열을 뒤집기만 하면 되는 문제
풀이 1
의 경우 StringBuilder.reverse
메소드를 사용하여 문자열을 뒤집음
풀이 2
의 경우 수를 입력 받은 뒤, StringBuilder
객체인 flippedNum
에 반복문을 사용하여 마지막 문자부터 삽입하여 문자열을 뒤집음
- 두 문자열을 비교하여 같으면
yes
를, 다르면 no
를 결과 문자열에 추가
- 두 풀이의 성능 차이는 없으나,
풀이 1
의 코드가 더 짧음