문제

문제

 

처음 작성한 코드

def solution(a, b):
    return sum([value*b[idx] for idx, value in enumerate(a)])

 

코드 리뷰 후

def solution(a,b):
    return sum([x*y for x,y in zip(a,b)])

 

깨달은 점

1. 리스트의 길이가 같으면 zip()을 이용할 수 있다. zip(a,b)를 하면 리스트 a와 b의 원소를 하나씩 반환해준다.

'Programmers' 카테고리의 다른 글

이상한 문자 만들기  (0) 2021.01.01
자연수 뒤집어 배열로 만들기  (0) 2021.01.01
정수 내림차순으로 배치하기  (0) 2021.01.01
완주하지 못한 선수  (0) 2020.12.31
모의고사  (0) 2020.12.30

문제

문제

처음 작성한 코드

def solution(arr):
    answer = []
    for idx,value in enumerate(arr):
        if idx==0 or arr[idx]!=arr[idx-1]:
            answer.append(value)
    return answer

 

코드 리뷰 후

def solution(arr):
    answer = [value for idx,value in enumerate(arr) if idx==0 or arr[idx]!=arr[idx-1]]
    return answer

 

깨달은 점

enumerate()는 인덱스와 인덱스에 해당하는 값을 반환해준다.
한 줄에 한 번에 나타내는 것이 아직은 익숙치않다..

'Programmers' 카테고리의 다른 글

3진법 뒤집기  (0) 2020.12.29
2016년  (0) 2020.12.29
나누어 떨어지는 숫자 배열  (0) 2020.12.29
수박수박수박수박수박수?  (0) 2020.12.29
문자열 내 마음대로 정렬하기  (0) 2020.12.29