[BOJ] 완전 이진 트리 in Kotlin

박준규·2022년 2월 7일
0

알고리즘

목록 보기
19/39

문제풀러 가기!

오랜만에 Tree 문제를 풀었습니다. 이 역시 문제가 그렇게 어려웠던 것은 아니지만, 오랜만에 트리를 풀어서 그런지 재귀가 헷갈려서 문제를 온전히 풀지는 못했어요. 이런 문제를 좀 더 풀어봐야겠습니다. 익숙해지고 알고리즘을 kotlin으로 거리낌없이 짤 수 있도록 해야 겠습니다.

접근은 이미 문제에서 전부 주어졌습니다. 그래서 이를 그대로 재귀로 구현하면 됩니다.

문제의 key point는 원소의 개수가 항상 홀수개가 나온다는 것에 착안하여 중앙과 그 이전 이후의 배열 또는 리스트를 계속 슬라이싱 하면서 재귀로 파고 들어가면 된다는 것입니다. 그러면 결국 arr의 사이즈가 1일 순간에 해당 원소를 결과를 내고 싶은 배열에 추가해주면 됩니다. 물론 배열의 원소는 mutableList로 원소를 추가할 수 있도록 해주었습니다.

profile
'개발'은 '예술'이고 '서비스'는 '작품'이다

0개의 댓글