회문 문자열 : 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 뜻함
문자열이 입력되었을 때 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 "NO" 를 출력하는 프로그램을 작성
해당 문제는 대소문자를 구별하지 않는다.
.
.
입력 : gooG 출력 : YES
import java.util.Scanner;
// 회문문자열비교
// 대소문자 구분없이 뒤집어도 같은 문자인지 확인하는 문제
public class Inflearn7 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
str= str.toLowerCase(); // 받은 문자열을 모두 소문자로 변경
int flag = 0; // 플래그 변수 활용
char[] s = str.toCharArray(); // 받은 문자열을 새로운 문자열 s 로 선언
int len = str.length();
for(int i=0; i<len/2; i++) {
if(str.charAt(i)!= str.charAt(len-i-1)) // len-i-1 이어야만 만약 i가 0일때 마지막 인덱스부터 검사할 수 있음
flag = 1; // 비교해서 다를시 플래그를 변경
}
// 플래그에 따라 출력
if(flag ==0)
System.out.println("YES");
else
System.out.println("NO");
}
}
* 문제 해결 특징은 먼저 입력에서 받은 문자열에서 대소문자 구분을 용이하게 하기위해서
문자열 전체를 소문자 또는 대문자로 바꿔 변수에 저장을 먼저 해준다 .
그 문자열을 새로운 배열에 넣어준 후 ....
배열의 처음과 끝에서 부터 비교를 하여 flag 변수를 바꾸어준 후 출력한다.
.
.

이번주도 화이팅 !!!
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의
자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성
www.inflearn.com
'Java' 카테고리의 다른 글
#9 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 연속 부분 수열 (0) | 2023.07.21 |
---|---|
#8 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 펠린드롬 (0) | 2023.02.13 |
#6 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 중복문자제거 (0) | 2023.02.10 |
#5 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 특정 문자 뒤집기 (0) | 2023.02.10 |
#4 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 단어 뒤집기 (0) | 2023.02.09 |