<로직 고민>
# 뭔가 인덱스를 이용해야 할 거 같음
# 0번째는 len(num_list)-1번째
# 1번째는 len(num_list)-2번째
# 2번째는 len(num_list)-3번째
# ...
# n번째는 len(num_list)-(n+1)번째
# len(num_list)-1번째는 0번째..?? 이게 맞나??? 묘하게 이상한 느낌
# 조건문을 걸어줘야 하나?
- 헐 대박 한 번에 풀었음!!!!!!
<완성한 코드>
def solution(num_list):
answer = []
for i in range(len(num_list)):
index = len(num_list)-(i+1)
answer.append(num_list[index])
return answer
a = [1, 2, 3, 4, 5]
b = [1, 1, 1, 1, 1, 2]
c = [1, 0, 1, 1, 1, 3, 5]
print(solution(a))
print(solution(b))
print(solution(c))
# 출력화면
# [5, 4, 3, 2, 1]
# [2, 1, 1, 1, 1, 1]
# [5, 3, 1, 1, 1, 0, 1]
- 다른 사람 풀이보다는 길지만.....그래도 100점짜리 정답이다...!!!!
<다른 사람 풀이>
- 천재풀이1
def solution(num_list):
return num_list[::-1]
- 와.....이걸.....생각을 못 한 건 아녔는데 긍까..슬라이싱을 떠올렸는데 그 거꾸로 하는 게 뭐드라.....하다가
- 그냥 직관적으로 생각하고 풀었음.....쩝
- 대박 천재
- 천재풀이2
def solution(num_list):
result =[]
while(num_list):
result.append(num_list.pop())
return result
- 오 ... 이거는 pop()을 몰랐음
- 찾아보니까 원소를 하나씩 뽑아내는 그런 함수네 근데 왜 거꾸로지...????....?? 처음부터 뽑아내는 게 아닌가
- 파이썬 덱(append, pop) [간단] (tistory.com)
- 또 찾아봤다,,ㅎㅎ 여기 그림으로 설명되어 있어서 바로 이해가 갔다
- append는 마지막 인덱스 뒤로 집어넣는 거고 pop은 마지막 인덱스부터 꺼내는 것!!