트랙
/
Clojure
Clojure
/
연습 문제
/
배열 평탄화
배열 평탄화

배열 평탄화

보통

소개

긴급 구호 물품이 도착했어요. 그런데 문제가 하나 있어요. 파손을 막으려고 손전등, 구급함, 담요 같은 물품들을 상자 안에 넣어 두었는데, 그중 몇몇 상자는 다른 상자 속에 여러 겹으로 겹쳐 들어 있어요!

비상 상황에 대비하려면 모든 물품이 상자 하나에 들어 있어서 쉽게 꺼낼 수 있어야 해요. 가장 필요할 때 바로 쓸 수 있도록, 물품을 모두 꺼내서 상자 하나에 담아 볼까요?

지침

어떤 깊이로든 중첩된 배열을 받아서 완전히 평탄화된 배열을 반환해요.

일부 언어 트랙에서는 입력 배열에 null과 비슷한 값이 포함될 수 있는데, 그런 값이 표현되는 방식은 트랙마다 달라요. 이러한 값은 평탄화된 배열에서 제외해야 해요.

또한 트랙에 따라 입력의 데이터 타입이 다를 수 있고, 서로 다른 타입을 포함할 수도 있어요.

자세한 내용은 테스트 스위트를 확인해 봐요.

예시

입력: [1, [2, 6, null], [[null, [4]], 5]]

출력: [1, 2, 6, 4, 5]

부록

Note

위 지침은 모든 언어 트랙에서 일관성을 유지하기 위해 공유 저장소와 동기화되어 있어요. 이 부록은 Clojure 트랙의 목표에 더 잘 맞도록 필요에 따라 추가 설명을 제공하거나 지침을 수정해요.

Clojure 트랙의 이 연습 문제에서는 테스트에서 보여주듯이 입력이 벡터의 중첩된 조합이고 출력이 벡터라고 가정해도 돼요. 하지만 꼭 그래야 하는 것은 아니에요. 입력이 순차적인 것들(리스트, 벡터 등)의 중첩된 조합이고 출력이 시퀀스라고 자유롭게 가정해도 돼요.


출처

면접 질문링크가 새 창이나 탭에서 열려요
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Clojure Exercism

배열 평탄화 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Clojure 트랙을 개념 12개연습 문제 105개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.