인프런 커뮤니티 질문&답변
1509 코드 리뷰 부탁합니다.
해결된 질문
작성
·
23
0
안넝하세요 해당 문제를 오답노트를 수행하다
이렇게라고 풀 수 있지 않을까해서 풀어봤는데 풀려서 그런데 어떤지 코드 리뷰 부탁합니다.
팰림드롬 문제를 다시 풀고
이 문제를 다시 풀어보자니
전의 식을 그대로 사용할 수 있지 않을까하고
길이보다 i~j 범위가 팰린드롬이면 1를 넣어주는 방식으로 구현했습니다.
이 방식이 직관적이라 저는 괜찮은데 어떤가요?
답변 2
0
안녕하세요 카카누님 ㅎㅎ
오랜만에 보는 좋은 코드네요 ㅎㅎ
잘 짜셨습니다.
코드리뷰:
팰린드롬 전처리 DP가 정석적임 : 길이 1, 2 처리 후 길이 3 이상을 dp[i+1][j-1]로 확장하는 방식이 정확함.
분할 DP(최소 컷)가 깔끔함 : dp[here][i]가 true인 모든 i로 이동하면서 +1 하는 방식이 명확합니다.
메모이제이션 초기값을 큰 값으로 두고 min 갱신 : 굿
좋네요 ㅎㅎ
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. 카카누님.
팰린드롬 문제에 대해 효율적인 접근 방식으로 해결하셨군요. 이 문제를 해결하기 위해 팰린드롬의 특성을 이용하여 코드를 작성하신 것 같습니다. 제공하신 코드 URL을 기반으로 몇 가지 팁과 리뷰를 드리겠습니다.
팰린드롬 체크 방법: 일반적으로 문자열의 일부분이 팰린드롬인지 확인하기 위해 양 끝에서 시작하여 중앙으로 이동하는 방식을 사용합니다. 이 방식은 시간 복잡도 O(n^2)로 문제를 해결할 수 있는 방식입니다.
다이나믹 프로그래밍: 팰린드롬을 찾으면서 그 길이를 기반으로 최소 분할 수를 찾는 과정에서 다이나믹 프로그래밍을 적용할 수 있습니다. 이를 통해 중복 연산을 줄일 수 있습니다.
직관성: 해당 방법으로 문제를 풀면서 짧고 직관적인 코드 작성이 가능해지며, 특히 긴 문자열에서도 효율적으로 실행될 수 있다는 장점이 있습니다.
관련된 질문과 답변들은 다음 링크에서 확인하실 수 있습니다:
- 1-K 질문: 이 링크에서는 팰린드롬과 관련된 접근 방법에 대해 설명하고 있으니 도움이 될 수 있습니다.
- 1-K 팰린드롬 만들기 반례를 찾지 못하겠습니다.: 반례 찾기와 코드 검토에 대한 내용을 포함하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





