Skip to content

[Week13]PGS_42892: 길찾기 게임#78

Open
sukangpunch wants to merge 1 commit intomainfrom
sukangpunch
Open

[Week13]PGS_42892: 길찾기 게임#78
sukangpunch wants to merge 1 commit intomainfrom
sukangpunch

Conversation

@sukangpunch
Copy link
Contributor

문제 정보

풀이 방법

간단히 어떤 방식으로 풀었는지 설명해주세요.

시간복잡도: O(NlogN)
Node 클래스의 정렬 기준은  y값이 크면 부모 노드가 되며, x값 기준으로 왼쪽 자식, 오른쪽 자식이 결정된다.
n.y -this.y 로 y좌표 기준으로 내림차순 정렬합니다, this.x -n.x 는 y좌표가 같다면 x좌표 기준으로 오름차순 정렬합니다.
정렬을 하는 이유는 1. 루트 노드를 찾기 위해, 2. 부모가 자식보다 먼저 생성되어야 하므로, 3. 트리 만들기 편해서
insertNode 를 통해 이진트리를 만듭니다. 왼쪽 자식, 오른쪽 자식인지 판별 후 비어있으면 연결, 아니면 타고 내려감
이후 완성된 이진트리를 기반으로 전위, 후위 순회
전위 순회 : 루트 -> 왼쪽자식 -> 오른쪽자식 순서 방문
후위 순회 : 왼쪽 -> 오른쪽 -> 루트 순서로 방문
문제점: 만약에 y값이 동일한데 head 인 경우(예: (3, 11), (4,11) 가 input으로 들어오면? (3,11) 의 오른쪽 자식이 (4,11) 이 된다..

체크리스트

  • 코드가 정상적으로 실행되나요?
  • 커밋 메시지가 컨벤션을 따르나요?
  • 파일명이 올바른가요? ({닉네임}.{확장자})

추가 코멘트

(선택사항) 추가로 공유하고 싶은 내용이 있다면 작성해주세요.

@sukangpunch sukangpunch self-assigned this Mar 25, 2026
@github-actions github-actions bot added weekly-challenge 주차별 공통 문제 프로그래머스 프로그래머스 문제 labels Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

weekly-challenge 주차별 공통 문제 프로그래머스 프로그래머스 문제

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant