프로그래머스 | level 1 | Python | 내적
나의 풀이
def solution(a, b):
answer = 0
while a and b:
answer += a.pop() * b.pop()
return answer
처음 문제를 읽다가 내적에 링크가 걸려 있길래 들어갔더니 영어 위키 문서였다. 그래서 찬찬히 읽으려다가 수학 용어가 나오길래 바~로 한국어 문서를 찾았다.그랬더니 더욱 깊숙한 지식의 늪에 빠졌고 내 속에선 프로그래머스에 대한 배신감과 level 1 문제에서 조차 이렇게 고전하는 자신의 무력감 또한 느껴졌다. 하지만 알고보니 무척 쉬웠던 문제. 그냥 길이(심지어 길이가 같다고!)가 같은 리스트의 요소를 순서대로(심지어 순서대로!) 곱해서 합하면 끝이다.
허무하게 (몸 곳곳에 내적 개념이 질척하게 묻은 상태로) 문제를 풀고 다른 사람 풀이를 보니, 파이썬스럽게 푼 풀이들이 눈에 들어왔다. 그 중에 하나가 바로 이것.
def solution(a, b):
return sum([x * y for x, y in zip(a, b)])
List Comprehension, zip, sum을 이용한 한 줄 코딩. 와! 근데 내적 때문에 별 감동이 없었다.
필요했거나 살펴봤던 개념
- 미친 내적(문제에 있는 링크...^^, 심지어 영어다!)
오늘의 교훈: 쫄지 말자. 일단 끝까지 읽어봐.
'프로그래밍-학습기록 > 코딩테스트' 카테고리의 다른 글
리트코드(LeetCode): 104. Maximum Depth of Binary Tree (0) | 2021.05.06 |
---|---|
치욕스런 날코딩, 정규표현식 배워야겠다는 다짐 (0) | 2021.03.01 |
프로그래머스 | level 1 | python | 3진법 뒤집기 (0) | 2021.03.01 |
프로그래머스 | 파이썬 | 삼각달팽이 (0) | 2020.12.29 |
프로그래머스 | 파이썬 | 문자열 압축 (0) | 2020.12.28 |