📁 코딩테스트 준비/Python

[SWEA / python] 1545. 거꾸로 출력해 보아요 (D1)

박개봄 2022. 11. 8. 21:36
728x90

✔️ 문제풀이

test_case = int(input())
for i in reversed(range(0,test_case+1)):
    print(i, end=" ")

1. step인자를 음수로 지정하는 방법

>>> print(list(range(10, 0, -1)))

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

위와 같이 step인자를 음수로 지정하면 숫자가 줄어드는 range객체로 만들 수 있다.

* 이 때, start 인자의 값이 stop인자의 값보다 작거나 같으면 빈 범위가 되므로 주의해야됨!

 

2. reversed()함수 사용

첫 번째 방법은 헷갈릴 수 있으므로 reversed()함수를 사용하여 range객체를 역순 정렬할 수 있다.

 

 

📌 오답노트

test_case = int(input())
arr=[]
for i in range(0,test_case+1):
    arr.append(i)
arr.reverse()
print(arr,end=" ")

처음엔 arr라는 변수를 만들어, list로 입력받아서 역순으로 출력하는 방법을 생각했다.

배열이 역순으로 출력되긴 했지만, [8, 7, 6, 5, 4, 3, 2, 1, 0] 이렇게 list의 형태로 '[]'와 ','이 포함된 채로 출력이 되었다.

그래서 list로 입력받지 않고 위 문제풀이의 코드처럼 range()함수와 reversed()함수를 이용하여 풀었더니 8 7 6 5 4 3 2 1 0 의 결과가 나왔다.

 

-> 앞으로 문제에서 원하는 출력 값이 list형태인지 아닌지 잘 보고 풀어야겠다 !!!!!!!

728x90