반응형

👇 공부한 자료들의 실제 소스파일들을 기록해논 공간입니다 👇
오늘의 문제
문제풀이 고민
1. 소문자와 대문자 통합시키기 -> 대문자로 변환
2. 문자열 내 숫자와 특수문자 삭제
3. i의 문자가 바뀔때 마다 마지막 문자와 같은지 비교
4. i의 문자와 끝 문자와 같을 경우 flag에 true를 넣어주고
5. 틀릴 경우에는 false 를 반환시켜준다. 그리고 종료
6. 계속 같은 경우 문자열의 중간 인덱스까지 비교하고 모두다 true일 경우 결론은 true 가 되게끔 처리함
나의 풀이
import java.util.Scanner;
class Main {
public String solution(String str) {
String answer = str.toUpperCase();
String newAnswer = answer.replaceAll("[^a-zA-Z$]", "");
boolean flag = false;
int rtPoint = newAnswer.length() - 1;
for (int i = 0; i < str.length(); i++) {
char tmp = newAnswer.charAt(i);
if (i == newAnswer.length() / 2) {
break;
}
if (tmp == newAnswer.charAt(rtPoint)) {
flag = true;
rtPoint--;
} else {
flag = false;
break;
}
}
if (flag == false) answer = "NO";
else if (flag == true) answer = "YES";
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner in = new Scanner(System.in);
String str = in.nextLine();
System.out.println(T.solution(str));
}
}
반응형
'👩🏻💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 > ⠀⠀⠀⠀ Aʟɢᴏʀɪᴛʜᴍ' 카테고리의 다른 글
Algorithm - 문자 거리 (1) | 2023.11.01 |
---|---|
Algorithm - 숫자만 추출 (1) | 2023.10.20 |
Algorithm - 회문 문자열 (0) | 2023.10.18 |
Algorithm - 중복문자제거 (1) | 2023.10.10 |
Algorithm - 특정 문자 뒤집기 (0) | 2023.09.24 |