파이썬 출력,코드질문드립니다.. .
<출력 예시 1>
숫자를 입력하세요: 4
[1]
[1, 1]
[1, 2]
[1, 1, 2, 1]
<출력 예시 1>
숫자를 입력하세요: 7
[1]
[1, 1]
[1, 2]
[1, 1, 2, 1]
[1, 2, 2, 1, 1, 1]
[1, 1, 2, 2, 1, 3]
[1, 2, 2, 2, 1, 1, 3, 1]
if문, for문과 리스트를 이용해서 위에 예시 처럼 아래 수열을 n번째 행까지 출력하는 코드 어떻게 해야 하나요?
입력된 숫자가 4 인 경우:
0. 시작할 list_1 = [1] 을 입력 받거나, 코드에 포함시킨다.
1. list_1 을 print 한다.
결과: [1]
2. list_1 의 element 개수를 세고,
새로운 list_temporary = [element, 개수] 를 만든다.
기존의 list_1 을 list_temporary 로 대체한다.
list_1 을 print 한다.
결과: [1, 2]
3. 다시, list_1 의 element 개수를 세고,
새로운 list_temporary = [element, 개수, element, 개수] 를 만든다.
기존의 list_1 을 list_temporary 로 대체한다.
list_1 을 print 한다.
결과: [1, 1, 2, 1]
4. 또 다시, list_1 의 element 개수를 세고,
새로운 list_temporary = [element, 개수] 를 만든다.
list_1 을 list_temporary 로 대체한다.
list_1 을 print 한다.
결과: [1, 2, 2, 1, 1, 1]
바로 위, 네 번째 단계에서,
살~짝 수준 높은 논리적 사고 능력이 필요합니다.
동일한 숫자가 반복되다가, 다른 숫자가 등장했을 때,
이전에 반복되던 숫자와 그것의 갯수를 list_temporary 에 저장하고,
다시 count 를 시작하는 논리를 생각해 내어야 합니다.
이상의 네 단계를 처리할 수 있으면
입력되는 숫자가 어떤 것이든 원하는 결과를 얻을 수 있습니다.