문제
문자열이 입력되었을때, 앞에서부터 읽을때나, 뒤에서 읽을때나 같은 문자열이면 “YES”를 아니라면 NO를 출력해주세요
대소문자 구분X
입력
gooG
출력
YES
풀이
나의 답
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Main main = new Main();
Scanner in=new Scanner(System.in);
String str = in.next();
System.out.println(main.solution(str));
return ;
}
public String solution(String str) {
String answer = "";
String rs = new StringBuilder(str).reverse().toString();
for (int i = 0; i < str.length(); i++) {
if (str.toLowerCase().charAt(i) == rs.toLowerCase().charAt(i)) {
answer = "YES";
}else {answer = "NO";}
}
return answer;
}
}
풀이 답
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Main main = new Main();
Scanner in=new Scanner(System.in);
String str = in.next();
System.out.println(main.solution(str));
return ;
}
public String solution(String str) {
String answer = "YES";
String rs = new StringBuilder(str).reverse().toString();
for (int i = 0; i < str.length(); i++) {
if (!str.toLowerCase().equals(rs.toLowerCase())) {answer = "NO";}
}
return answer;
}
}
equals()를 이용해서 더 간결하게 나타냈고, answer의 기본 값을 “YES”로 두었다.
참고
이 글은 인프런 강의 김태원님의
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비를 바탕으로 쓴 글입니다.
https://www.inflearn.com/course/자바-알고리즘-문제풀이-코테대비
반응형