중첩 리스트 평탄화
정수와 리스트로 이루어진 중첩 리스트가 주어진다. 모든 정수를 등장하는 순서대로 한 개의 리스트에 담아 반환하는 함수 flatten_nested를 재귀 호출을 이용하여 작성하시오. 빈 리스트에는 아무 정수도 없으며, 입력으로 받은 리스트는 변경하지 않는다.
함수 원형은 주어지지 않는다. 설명과 아래의 호출 코드를 보고 함수의 매개변수와 반환값을 직접 설계한다.
함수를 사용하는 코드
작성한 함수는 아래 코드와 함께 실행된다.
import json
nested = json.loads(input())
result = flatten_nested(nested)
print(*result)
print(type(result))
위 코드가 정상적으로 동작하도록 함수를 직접 정의한다. 제출할 때는 작성한 함수의 정의 전체만 제출한다.
입력
첫째 줄에 JSON 형식의 중첩 리스트가 주어진다. 최상위 값은 항상 리스트이며, 리스트의 원소는 정수 또는 또 다른 리스트이다.
- 포함된 정수의 개수는 \(0\) 이상 \(1,000\) 이하이다.
- 중첩 깊이는 \(100\) 이하이다.
- 각 정수는 \(-1,000,000,000\) 이상 \(1,000,000,000\) 이하이다.
출력
모든 정수를 등장 순서대로 공백으로 구분해 출력한다. 정수가 하나도 없으면 빈 줄을 출력한다. 함수는 새로운 list를 반환해야 한다.
마지막 줄에는 함수가 반환한 값의 자료형을 출력한다.
예제 입력 1
[1,[2,[3,4]],5]
예제 출력 1
1 2 3 4 5
<class 'list'>
예제 입력 2
[[],[1],[[2]],[]]
예제 출력 2
1 2
<class 'list'>
코멘트