컴퓨터는 잘못이 없다..
[Python]프로그래머스 강의_파이썬을 파이썬 답게 파트1.Python 꿀팁(파이썬 용어 Iterator, sequence,packing, unpacking) 본문
[Python]프로그래머스 강의_파이썬을 파이썬 답게 파트1.Python 꿀팁(파이썬 용어 Iterator, sequence,packing, unpacking)
도토리까꿍v 2021. 5. 5. 17:57#강의 링크
파이썬을 파이썬답게 | 프로그래머스 (programmers.co.kr)
#이런 분들께 추천합니다.
파이썬 문법을 알고 계시는 분
알고리즘 문제를 조금 더 쉽게 풀고 싶은 분
Python코드를 low level 언어(C/C++) 코드처럼 짜시는 분
#Glossary(용어사전)
-iterable : 자신의 멤버를 한 번에 하나씩 리턴할 수 있는 객체입니다. list, str, tuple, dict등이 여기에 속합니다.
-sequence : int 타입 인덱스를 통해, 원소에 접근할 수 있는 iterable입니다. iterable의 하위 카테고리라고 생각하시면 됩니다. list, str, tuple이 여기 속합니다. (dictionary는 다양한 타입을 통해 원소에 접근할 수 있기 때문에 sequence에 속하지 않습니다.)
-packing : 하나의 변수에 여러 개의 값을 넣는 것
-unpacking : 패킹된 변수에서 여러 개의 값을 꺼내오는 것
ex) paking과 unpaking의 예
c = (3,4)
d,e = c
f=d,e
>>> f=(3,4)
#list, tuple, dict, set, str의 특징
#문제링크
파이썬을 파이썬답게 - 수강 전에 이 문제를 풀어보세요. | 프로그래머스 (programmers.co.kr)
#문제
수강전에 이 문제를 풀어보세요.
정수를 담은 이차원 리스트, mylist 가 solution 함수의 파라미터로 주어집니다. mylist에 들은 각 원소의 길이를 담은 리스트를 리턴하도록 solution 함수를 작성해주세요.
제한 조건
- mylist의 길이는 100 이하인 자연수입니다.
- mylist 각 원소의 길이는 100 이하인 자연수입니다.
예시
inputoutput
[[1], [2]] | [1,1] |
[[1, 2], [3, 4], [5]] | [2,2,1] |
#답안1
def solution(mylist):
answer=[]
for i in range(len(mylist)) :
answer.append(len(mylist[i]))
return answer
▲답안1 대로 문제를 푼다면 Python코드를 C,C++코드로 짠 것이다.
#답안2
def solution(mylist):
return [len(i) for i in mylist]
▲답안2 처럼 리스트 컴프리헨션을 이용하여 mylist를 돌며 i의 길이를 출력하는 방식이 있다.
#답안3
def solution(mylist):
return list(map(len, mylist))
▲강의에서는 답안3처럼 map을 활용하여 문제를 풀도록 제시해주었다. 가장 파이썬 다운 방식이다.
#문제 해설 링크
파이썬을 파이썬답게 - Introduction + Glossary | 프로그래머스 (programmers.co.kr)