728x90
인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다.
- 문제 링크 : https://cote.inflearn.com/contest/10/problem/01-07
- 간단한 문제 설명 : 회문문자열인지 아닌지 판단
내 풀이(while문)
- 대소문자를 구분하지 않기때문에 문자를 모두 대문자로 변환 후 while문을 사용하여 대칭되는 위치의 문자 비교
import java.io.*;
public class Main {
public boolean solution(String s) {
int left = 0;
int right = s.length() - 1;
char[] chars = s.toUpperCase().toCharArray();
while (left < right) {
if (chars[left] != chars[right]) {
return false;
}
left++; right--;
}
return true;
}
public static void main(String[] args) throws IOException {
Main T = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
if (T.solution(s)) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
강의 풀이1(for문)
- 대소문자를 구분하지 않기 때문에 문자를 모두 대문자로 변환 후 for문을 사용하여 대칭되는 위치의 문자 비교
import java.util.*;
class Main {
public String solution(String str){
String answer="YES";
str=str.toUpperCase();
int len=str.length();
for(int i=0; i<len/2; i++){
if(str.charAt(i)!=str.charAt(len-i-1)) answer="NO";
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str=kb.next();
System.out.print(T.solution(str));
}
}
강의 풀이2(StringBuilder.reverse())
- StringBuilder의 reverse() 메서드를 사용하여 문자열을 뒤집은 후
- equalsIgnoreCase() 메서드를 사용하여 원래 문자열과 대소문자를 구분하지 않고 같은지 비교
import java.util.*;
class Main {
public String solution(String str){
String answer="NO";
String tmp=new StringBuilder(str).reverse().toString();
if(str.equalsIgnoreCase(tmp)) answer="YES";
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str=kb.next();
System.out.print(T.solution(str));
}
}
'알고리즘 문제풀이' 카테고리의 다른 글
[알고리즘/인프런]1-9 숫자만 추출(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.06 |
---|---|
[알고리즘/인프런]1-8 유효한 펠린드롬(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.05 |
[알고리즘/인프런]1-6 중복문자 제거(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.05 |
[프로그래머스] 124나라의 숫자 java (0) | 2020.12.13 |
[2018 KAKAO BLIND RECRUITMENT] 다트 게임 자바 (0) | 2020.11.19 |
댓글