์ฌ์ง๋ค์ ๋ณด๋ฉฐ ์ถ์ต์ ์ ์ด ์๋ ๋ฃจ๋ ์ฌ์ง๋ณ๋ก ์ถ์ต ์ ์๋ฅผ ๋งค๊ธธ๋ ค๊ณ ํฉ๋๋ค. ์ฌ์ง ์์ ๋์ค๋ ์ธ๋ฌผ์ ๊ทธ๋ฆฌ์ ์ ์๋ฅผ ๋ชจ๋ ํฉ์ฐํ ๊ฐ์ด ํด๋น ์ฌ์ง์ ์ถ์ต ์ ์๊ฐ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ง ์ ์ธ๋ฌผ์ ์ด๋ฆ์ด ["may", "kein", "kain"]์ด๊ณ ๊ฐ ์ธ๋ฌผ์ ๊ทธ๋ฆฌ์ ์ ์๊ฐ [5์ , 10์ , 1์ ]์ผ ๋ ํด๋น ์ฌ์ง์ ์ถ์ต ์ ์๋ 16(5 + 10 + 1)์ ์ด ๋ฉ๋๋ค. ๋ค๋ฅธ ์ฌ์ง ์ ์ธ๋ฌผ์ ์ด๋ฆ์ด ["kali", "mari", "don", "tony"]์ด๊ณ ["kali", "mari", "don"]์ ๊ทธ๋ฆฌ์ ์ ์๊ฐ ๊ฐ๊ฐ [11์ , 1์ , 55์ ]]์ด๊ณ , "tony"๋ ๊ทธ๋ฆฌ์ ์ ์๊ฐ ์์ ๋, ์ด ์ฌ์ง์ ์ถ์ต ์ ์๋ 3๋ช
์ ๊ทธ๋ฆฌ์ ์ ์๋ฅผ ํฉํ 67(11 + 1 + 55)์ ์
๋๋ค.
๊ทธ๋ฆฌ์ํ๋ ์ฌ๋์ ์ด๋ฆ์ ๋ด์ ๋ฌธ์์ด ๋ฐฐ์ด name, ๊ฐ ์ฌ๋๋ณ ๊ทธ๋ฆฌ์ ์ ์๋ฅผ ๋ด์ ์ ์ ๋ฐฐ์ด yearning, ๊ฐ ์ฌ์ง์ ์ฐํ ์ธ๋ฌผ์ ์ด๋ฆ์ ๋ด์ ์ด์ฐจ์ ๋ฌธ์์ด ๋ฐฐ์ด photo๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ฌ์ง๋ค์ ์ถ์ต ์ ์๋ฅผ photo์ ์ฃผ์ด์ง ์์๋๋ก ๋ฐฐ์ด์ ๋ด์ returnํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- 3 ≤ name์ ๊ธธ์ด = yearning์ ๊ธธ์ด≤ 100
- 3 ≤ name์ ์์์ ๊ธธ์ด ≤ 7
- name์ ์์๋ค์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- name์๋ ์ค๋ณต๋ ๊ฐ์ด ๋ค์ด๊ฐ์ง ์์ต๋๋ค.
- 1 ≤ yearning[i] ≤ 100
- yearning[i]๋ i๋ฒ์งธ ์ฌ๋์ ๊ทธ๋ฆฌ์ ์ ์์ ๋๋ค.
- 3 ≤ photo์ ๊ธธ์ด ≤ 100
- 1 ≤ photo[i]์ ๊ธธ์ด ≤ 100
- 3 ≤ photo[i]์ ์์(๋ฌธ์์ด)์ ๊ธธ์ด ≤ 7
- photo[i]์ ์์๋ค์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- photo[i]์ ์์๋ค์ ์ค๋ณต๋ ๊ฐ์ด ๋ค์ด๊ฐ์ง ์์ต๋๋ค.
๋์ ํ์ด
function solution(name, yearning, photo) {
const yearningMap = {};
for (i = 0; i < name.length; i++) {
const yearningName = name[i];
for (idx = 0; idx < yearning.length; idx++){
const yearningScore = yearning[i];
yearningMap[yearningName] = yearningScore;
}
}
let ret = new Array;
for(i = 0; i < photo.length; i++){
let photoScore = [];
photo[i].forEach(pho => {
if (yearningMap[pho] === undefined) {
photoScore.push(0);
} else { photoScore.push(yearningMap[pho]); }
});
ret[i] = photoScore.reduce((a,b)=>(a+b));
}
return ret;
}
์ถ์ฒ: ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉ ํ ์คํธ ์ฐ์ต, https://school.programmers.co.kr/learn/challenges
'๐จ JavaScript > ๋ฌธ์ ํ๊ธฐ (ํ๋ก๊ทธ๋๋จธ์ค, ์ฝ๋ฉ์ ํ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Level 1] ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ (0) | 2023.12.10 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Level 1] ๋ฐํํ๋ฉด ์ ๋ฆฌ (0) | 2023.12.10 |
[ํ๋ก๊ทธ๋๋จธ์ค Level 1] ์ผ์ด์ฌ (0) | 2023.12.10 |
Level 3 : 9 ์ฅ๋ฐ๊ตฌ๋๋ฒํผ ๊ตฌํํ๊ธฐ(localStorage, array, forEach, JSON) (0) | 2023.04.15 |
Level 3 : 5~8 (ajax, json, array, sort) (0) | 2023.04.13 |