코드업 기초 100제 문제 072
# n개의 정수가 순서대로 입력된다.
# (단 n의 최대 개수는 알 수 없다.)
# n개의 입력된 정수를 순서대로 출력해보자.
# while( ), for( ) 등의 반복문을 사용할 수 없다.
# 입력
# 첫 줄에 정수의 개수 n이 입력되고,
# 두 번째 줄에 n개의 정수가 공백을 두고 입력된다.
# 출력
# n개의 정수를 한 개씩 줄을 바꿔 출력한다
소스
더보기
n = int(input())
number = list(map(int, input().split()))
# 1
def goto(number, n, i):
if i == n:
return
print(number[i])
i += 1
goto(number, n, i)
goto(number, n, 0)
# 2 reverse 사용
number.reverse()
def goto(number, n):
print(number[n])
n -= 1
if n == -1:
return
goto(number, n)
goto(number, n-1)
1번풀이의 재귀 함수의 경우 3개의 매개변수 리스트 , 정수의 개수 , 인덱스 값을 순서대로 입력받습니다. 그래서 매번 넘어갈 때 인덱스를 1씩 증가시켜 재귀 함수를 호출할 때마다. 현재가 리스트의 마지막인지 확인을 하게 됩니다. 2번 풀이 같은 경우 reverse 함수를 사용하여 2개의 매개변수리스트 , 정수의 개수만 받게하였습니다. 이렇게 하게 되면 인데스 값을 1씩 줄여 간다고 할 때 언제나 인덱스의 마지막 값은 0이기 때문에 변수의 개수를 줄일 수 있습니다.
'파이썬 > 코트업 기초 100제' 카테고리의 다른 글
코드업 기초 100제 문제 074 (0) | 2022.02.03 |
---|---|
코드업 기초 100제 문제 073 (0) | 2022.02.03 |
코드업 기초 100제 문제 071 (0) | 2022.02.03 |
코드업 기초 100제 문제 070 (0) | 2022.02.02 |
코드업 기초 100제 문제 069 (0) | 2022.02.02 |