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 |
Tags
- 타입좁히기
- 타입스크립트
- 성능최적화
- 공통컴포넌트
- 리액트
- reactjs
- const 단언문
- 2022
- typescript
- React.js
- react
- 폰트적용하기
- TSDoc
- 개발콘텐츠
- Chart.js
- utilty type
- JS console
- 티스토리꾸미기
- CSS
- 레이아웃쪼개기
- returnType
- React Native
- 반복줄이기
- 누구나 자료구조와 알고리즘
- vue.js
- NonNullable
- 제네릭
- javascript
- 커스텀
- click and drag
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