Skip to content

Conversation

@lkhyun
Copy link
Contributor

@lkhyun lkhyun commented Oct 7, 2025

🧷 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/150367

🧭 풀이 시간

60분

👀 체감 난이도

✏️ 문제 설명

이진트리가 하나 존재한다고 가정하자.
이때 빈 노드로 이진 트리를 포화상태로 만들고 기존노드는 1, 추가된 빈 노드는 0이라고 생각한다.
트리의 높이와는 상관없이 왼쪽부터 노드를 읽었을때, 이진수의 꼴로 나타나질 것이다.
숫자가 주어질때, 위와 같은 방법으로 나타나질 수 있는 수라면 1 아니라면 0을 출력한다.

🔍 풀이 방법

재귀, 트리
숫자를 이진수의 형태로 변환한 후, 포화 이진트리의 노드 수만큼 패딩함.
그리고 루트에 접근하여 왼쪽, 오른쪽 서브트리에 대해서 검사함.
루트가 0이라면 그 아래 자식들또한 모두 0이어야 함.
그렇지 않다면 존재할 수 없으므로 0을 출력.
모두 통과한다면 표현 가능하므로 1을 출력.

⏳ 회고

카카오 문제는 결국 풀면 그렇게 어려운 알고리즘이 사용되지 않는데, 구현하기가 왜캐 어려운지 모르겟다.

@lkhyun lkhyun self-assigned this Oct 7, 2025
@lkhyun lkhyun added success 👍 해설을 보지 않고 풀었을 때 hint 💡 반례를 참고했거나 힌트를 얻고 풀었을 때 labels Oct 7, 2025
@ShinHeeEul ShinHeeEul merged commit 0e2b6ab into main Oct 7, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hint 💡 반례를 참고했거나 힌트를 얻고 풀었을 때 success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants