Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- CSS
- 레이아웃쪼개기
- JS console
- NonNullable
- react
- vue.js
- typescript
- 성능최적화
- 리액트
- Chart.js
- TSDoc
- 누구나 자료구조와 알고리즘
- utilty type
- 공통컴포넌트
- 2022
- const 단언문
- React.js
- 반복줄이기
- React Native
- 타입좁히기
- 폰트적용하기
- 타입스크립트
- 제네릭
- 티스토리꾸미기
- 개발콘텐츠
- click and drag
- javascript
- 커스텀
- returnType
- reactjs
Archives
- Today
- Total
몽땅뚝딱 개발자
[프로그래머스 | Javascript] Lv.1 추억 점수 본문
내 힘으로 푼 첫 문제..🥺
🗝 내가 푼 코드
function solution(name, yearning, photo) {
const point = {}
name.forEach((obj, index) => {
point[obj] = yearning[index]
})
return photo.map((list) => {
return list.reduce((acc, cur) => acc + (point[cur] || 0), 0)
})
}
point object을 만드는 부분을 변수 선언 없이 할 수는 없을까 고민하다 map 함수를 활용하면 될 것 같아서 찾아봤더니 reduce를 사용하는 방법이 있었다!
reduce는 지금까지 전체적으로 계산하는 연산이 필요할 때만 사용했었는데 진짜 신세계..🥸
// 처음 버전
const point = {}
name.forEach((obj, index) => {
point[obj] = yearning[index]
})
// 이렇게 만들 수 있다.
const point = name.reduce((newObj, obj, index) => {
newObj[obj] = yearning[index]
return newObj
}, {})
// map도 가능!
const point = name.reduce((map, obj, index) => {
map.set(obj, yearning[index])
return map
}, new Map)
그리고 마지막 코드를 줄여보자!
// 처음 버전. 나는 이게 읽기 쉽다고 생각한다.
return photo.map((list) => {
return list.reduce((acc, cur) => {
return acc + (point[cur] || 0)
}, 0)
})
// 줄여야 한다면 이 정도까지만 한 줄로 줄이는게 낫다고 생각한다.
return photo.map((list) => {
return list.reduce((acc, cur) => acc + (point[cur] || 0), 0)
})
// 이렇게도 표현할 수 있지만 읽기 힘든 것 같아서 이렇게까지는 생략 안 한다. (tmi)
return photo.map(list => list.reduce((acc, cur) => acc + (point[cur] || 0), 0))
'Development > 알고리즘' 카테고리의 다른 글
[프로그래머스 | Javascript] Lv.0 주사위 게임 2 (0) | 2023.10.09 |
---|---|
[프로그래머스 | Javascript] Lv.0 홀짝에 따라 다른 값 반환하기 (1) | 2023.10.09 |
누구나 자료구조와 알고리즘 - (14) 공간 제약 다루기, 코드 최적화 기법 (0) | 2023.10.03 |
누구나 자료구조와 알고리즘 - (13) 그래프 (0) | 2023.10.03 |
⭐️ 누구나 자료구조와 알고리즘 - (12) 노드 기반 자료구조: 트리(Tree) - 힙(Heap), 트라이(trie) (0) | 2023.10.01 |
Comments