본문 바로가기

Lv32

[프로그래머스] 가장 긴 팰린드롬 https://school.programmers.co.kr/learn/courses/30/lessons/12904# 풀이 abbc, abcba 인 경우를 잘 살펴보면 첫번째는 b와 바로 다음 b가 같으므로 펠린드롬 시작, 두번째는 b와 다다음 b가 같아서 펠린드롬이 시작한다. 정리하자면 s 왼쪽부터 순회하면서 현재 = 현재의 다음 혹은 현재 = 현재의 다음다음인 경우에만 팰린드롬 가능성이 있는지 확인하면 된다 s.length-2까지 순회하며 펠린드롬이 가능한 경우를 찾는다 현재 = 다음 인 경우 getPalinLen를 구한 뒤 바로 이전의 result와 max 비교 현재 = 다음다음 인경우 getPalinLen + 1와 이전의 result비교한다 (1은 중간에 낀 문자) getPalinLen은 팰린드롬을.. 2024. 2. 22.
[프로그래머스 LV3] 아이템 줍기 JS https://school.programmers.co.kr/learn/courses/30/lessons/87694 문제 설명 다음과 같은 다각형 모양 지형에서 캐릭터가 아이템을 줍기 위해 이동하려 합니다. 지형은 각 변이 x축, y축과 평행한 직사각형이 겹쳐진 형태로 표현하며, 캐릭터는 이 다각형의 둘레(굵은 선)를 따라서 이동합니다. 만약 직사각형을 겹친 후 다음과 같이 중앙에 빈 공간이 생기는 경우, 다각형의 가장 바깥쪽 테두리가 캐릭터의 이동 경로가 됩니다. 단, 서로 다른 두 직사각형의 x축 좌표 또는 y축 좌표가 같은 경우는 없습니다. 즉, 위 그림처럼 서로 다른 두 직사각형이 꼭짓점에서 만나거나, 변이 겹치는 경우 등은 없습니다. 다음 그림과 같이 지형이 2개 이상으로 분리된 경우도 없습니다... 2024. 1. 18.