-
[프로그래머스]가장 긴 팰린드롬 - JAVA문제풀이/프로그래머스 2021. 3. 12. 13:57
[프로그래머스]가장 긴 팰린드롬
programmers.co.kr/learn/courses/30/lessons/12904
풀이
중첩 반복문을 사용하여 가장 긴 팰린드롬을 찾아내도록 하였다. 가장 긴 팰린드롬을 발견하면 그대로 그 값을 반환하였다.
우선 팰린드롬의 길이를 문자열 s의 길이로 지정한 후 팰린드롬이 아니라면 길이를 1씩 줄여나가면서 찾았다.
그 다음 시작점 부터 팰린드롬의 길이 만큼 s의 문자들을 비교하여 같지 않다면 break를 하여 빠르게 다음 시작점부터 비교할 수 있도록 해주었다.
코드
12345678910111213141516171819class Solution{public int solution(String s){for(int i = s.length(); i > 0; i--) { //팰린드롬의 길이for(int j = 0; j + i <= s.length(); j++) { // j는 팰린드롬 검사를 시작할 위치boolean isPalindrome = true;for(int k = 0; k < i / 2; k++) { // 팰린드롬을 검사할 횟수if(s.charAt(j + k) != s.charAt(j + i - k - 1)) {isPalindrome = false;break;}}if(isPalindrome) return i;}}return 1;}}cs '문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]풍선 터트리기 - JAVA (0) 2021.03.31 [프로그래머스]길 찾기 게임 - JAVA (0) 2021.03.14 [프로그래머스]입국심사 - JAVA (0) 2021.03.05 [프로그래머스]야근 지수 - JAVA (0) 2021.03.04 [프로그래머스]베스트앨범 - JAVA (0) 2021.03.03