내가 작성하고 제출하면서도 '음.. 이건 1점짜리 ㅎ' 했는데 정말 1점 받았다 ㅋㅋㅋ
순서대로 곱해주고 더해주는거라 reduce함수도 사용해보고 싶었는데 생각이 잘 나지 않았고.. 당연히 사용한 사람 있겠지? 했는데
댓글이 엄청 달린 풀이가 있었다!
밑에 작성된 코드가 바로 그 코드였고 ㅎ
zip, map, reduce 함수들을 사용해서 간단한 코드를 만들었더라..
zip(a, b)
zip함수는 두 배열을 받아 각 배열의 요소를 튜플로 묶어 새로운 시퀀스를 만드는 함수이다.
예를들어 a = [1, 2, 3, 4] b = [5, 6, 7, 8] 이면 zip(a, b)는 [(1, 5), (2, 6), (3, 7), (4, 8)] 이 된다.
.map(*)
map 함수는 시퀀스의 각 요소에 주어진 함수를 적용하여 새로운 배열을 생성한다.
연산자 '*' 사용하여 각 튜플의 요소를 곱한다
zip(a, b).map(*) 은 [1*5, 2*6, 3*7, 4*8] 즉 [5, 12, 21, 32] 가 된다
.reduce(0, +)
reduce 함수는 시퀀스의 모든 요소를 단일 값으로 결합한다.
초기값 0 부터 시작해 모든 요소를 더해준다.
[5, 12, 21, 32].reduce(0, +) 는 5 + 12 + 21 + 32 = 70 이 된다.
'알고리즘 문제풀이' 카테고리의 다른 글
34. 문자열 내림차순으로 배치하기 (0) | 2024.06.17 |
---|---|
33. 약수의 개수와 덧셈 (1) | 2024.06.14 |
프로그래머스 31. 수박수박수박수박수박수? (0) | 2024.06.12 |
프로그래머스 30. 가운데 글자 가져오기 (0) | 2024.06.11 |
프로그래머스 29. 제일 작은 수 제거하기 (0) | 2024.06.10 |