티스토리 뷰
title: "가장 긴 팰린드롬"
category: 프로그래머스[Level-3]
tags: [C++, JavaScript, 프로그래머스]
date: "2021-02-10"
문제 링크
C++
#include <iostream>
#include <string>
using namespace std;
bool isPalindrome(string& str, int left, int right){
while(left<right){
if(str[left++]!=str[right--]) return false;
}
return true;
}
int solution(string s) {
int answer=0;
int subLen=s.length();
while(subLen>0){
int start=0; // 부분 문자열 시작 인덱스
int end=subLen-1; // 부분 문자열 끝 인덱스
while(end<s.length()){
// 부분 문자열 길이만큼 옮김.
if(isPalindrome(s, start++, end++)) return subLen;
}
subLen--;
}
return answer;
}
JavaScript
function solution(s) {
var answer = 0;
const isPalindrome = (left, right) => {
while (left < right) {
if (s[left++] !== s[right--]) return false;
}
return true;
};
let subLen = s.length; // 부분 문자열 길이
while (subLen > 0) {
let start = 0; // 부분 문자열 시작 인덱스
let end = subLen - 1; // 부분 문자열 끝 인덱스
while (end < s.length) {
// 부문 문자열 길이가 일정하게 옮김.
if (isPalindrome(start++, end++)) return subLen;
}
subLen--;
}
return answer;
}
728x90
반응형
'Programmers Solutions > Level-3' 카테고리의 다른 글
[프로그래머스] 멀리 뛰기 (0) | 2021.02.13 |
---|---|
[프로그래머스] 기둥과 보 설치 (0) | 2021.02.12 |
[프로그래머스] 광고 삽입 (3) | 2021.02.10 |
[프로그래머스] 합승 택시 요금 (0) | 2021.02.08 |
[프로그래머스] 순위 (0) | 2021.02.08 |
댓글