Notice
Recent Posts
Recent Comments
Link
컴퓨터는 잘못이 없다..
[Python]프로그래머스 강의_파이썬을 파이썬 답게 파트4. Iterable 다루기_i번째 원소와 i+1번째 원소(파이썬 abs(절대값), zip) 본문
공부/Python
[Python]프로그래머스 강의_파이썬을 파이썬 답게 파트4. Iterable 다루기_i번째 원소와 i+1번째 원소(파이썬 abs(절대값), zip)
도토리까꿍v 2021. 5. 7. 14:33
Contents
접기
#문제 링크
파이썬을 파이썬답게 - i번째 원소와 i+1번째 원소 | 프로그래머스 (programmers.co.kr)
파이썬을 파이썬답게 - i번째 원소와 i+1번째 원소
본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제를 조금 더 쉽게 풀고 싶은 분 * Python 코
programmers.co.kr
#문제
문제 설명
숫자를 담은 리스트 mylist가 solution 함수의 파라미터로 주어집니다.
solution 함수가 mylist의 i번째 원소와 i+1번째 원소의 차를 담은
일차원 리스트에 차례로 담아 리턴하도록 코드를 작성해주세요.
단, 마지막에 있는 원소는 (마지막+1)번째의 원소와의 차를 구할 수 없으니,
이 값은 구하지 않습니다.
제한 조건
mylist의 길이는 1 이상 100 이하인 자연수입니다.
mylist의 원소는 1 이상 100 이하인 자연수입니다.
예시
mylist와 output
[83, 48, 13, 4, 71, 11] [35, 35, 9, 67, 60]
설명:
83과 48의 차는 35입니다.
48과 13의 차는 35입니다.
13과 4의 차는 9입니다.
4와 71의 차는 67입니다.
71과 11의 차는 60입니다.
따라서 [35, 35, 9, 67, 60]를 리턴합니다.
#내가 푼 답안
def solution(mylist):
answer = []
for i in range(len(mylist)-1) : #예시 range=5 즉, i=0,1,2,3,4
answer.append(abs(mylist[i]-mylist[i+1]))
return answer
▲len과 index를 이용해 각 원소에 접근하여 해결하였다.
#강의에서 제시한 답안
def solution(mylist):
answer = []
for number1, number2 in zip(mylist, mylist[1:]) :
answer.append(abs(number1-number2))
return answer
▲파이썬의 zip을 이용하면 index를 사용하지 않고 각 원소에 접근할 수 있다.
단, zip 함수에 서로 길이가 다른 리스트가 인자로 들어오는 경우에는 길이가 짧은 쪽 까지만 이터레이션이 이루어진다. 더 자세한 내용은 공식 레퍼런스 - zip
#문제 해설 링크
파이썬을 파이썬답게 - i번째 원소와 i+1번째 원소 - zip | 프로그래머스 (programmers.co.kr)
파이썬을 파이썬답게 - i번째 원소와 i+1번째 원소 - zip
본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제를 조금 더 쉽게 풀고 싶은 분 * Python 코
programmers.co.kr
'공부 > Python' 카테고리의 다른 글
Comments