컴퓨터는 잘못이 없다..

[Python]프로그래머스 강의_파이썬을 파이썬 답게 파트4. Iterable 다루기_모든 멤버의 type 변환하기(파이썬 map, int) 본문

공부/Python

[Python]프로그래머스 강의_파이썬을 파이썬 답게 파트4. Iterable 다루기_모든 멤버의 type 변환하기(파이썬 map, int)

도토리까꿍v 2021. 5. 7. 14:42
Contents 접기

#문제 링크 

파이썬을 파이썬답게 - 모든 멤버의 type 변환하기 | 프로그래머스 (programmers.co.kr)

 

파이썬을 파이썬답게 - 모든 멤버의 type 변환하기

본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제를 조금 더 쉽게 풀고 싶은 분 * Python 코

programmers.co.kr

 

#문제

문제 설명
문자열 리스트 mylist를 입력받아, 
이 리스트를 정수형 리스트로 바꾼 값을 리턴하는 함수, solution을 만들어주세요. 
예를 들어 mylist가 ['1', '100', '33'] 인 경우, solution 함수는 [1, 100, 33] 을 리턴하면 됩니다.

제한조건
mylist의 길이는 100 이하인 자연수입니다.
mylist의 원소는 10진수 숫자로 표현할 수 있는 문자열입니다. 
즉, 'as2' 와 같은 문자열은 들어있지 않습니다.

예시
input과 output
['1', '100', '33']	[1, 100, 33]

 

#내가 푼 답안

def solution(mylist):
    answer = []
    for i in range(len(mylist)) :
        answer.append(int(mylist[i]))
    return answer

▲for문으로 각 원소에 접근하여 int로 직접 바꿔주었다. 

 

#강의에서 제시한 답안

def solution(mylist):
    answer = list(map(int, mylist))
    return answer

▲파이썬의 map을 사용하면 for 문을 사용하지 않고도 멤버의 타입을 일괄 변환할 수 있다. 

 

#map으로 타입 변환하기

모든 멤버의 type 변환하기 - map

이번 강의에서는 Iterable의 모든 멤버의 type을 변환하는 방법을 배웠다. 

 

예시)

  • 문자열 배열 ['1', '100', '33']을 정수 배열 [1, 100, 33]로 바꾸기
  • 부동소숫점 튜플 (3.14, 3.5, 22.6)을 정수 배열 (3, 3, 22)로 바꾸기

#map함수 응용

def solution(mylist):
    answer = list(map(len, mylist))
    return answer
    
>>input과 output1
[[1], [2]]	[1, 1]

>>input과 output2
[[1, 2], [3, 4], [5]]	[2, 2, 1]

▲map함수를 응용하여 각 원소의 길이를 담은 리스트를 반환할 수 있다. 

 

#문제 해설 링크

파이썬을 파이썬답게 - 모든 멤버의 type 변환하기 - map | 프로그래머스 (programmers.co.kr)

 

파이썬을 파이썬답게 - 모든 멤버의 type 변환하기 - map

본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제를 조금 더 쉽게 풀고 싶은 분 * Python 코

programmers.co.kr

 

Comments