아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
탈퇴한 사용자
탈퇴한 사용자19.03.01

파이썬 출력,코드질문드립니다.. .

<출력 예시 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번째 행까지 출력하는 코드 어떻게 해야 하나요?

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • pay2id.com
    pay2id.com19.03.01

    입력된 숫자가 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 를 시작하는 논리를 생각해 내어야 합니다.

    이상의 네 단계를 처리할 수 있으면

    입력되는 숫자가 어떤 것이든 원하는 결과를 얻을 수 있습니다.