โ ๋ฌธ์
๋ฌธ์ ์ค๋ช
์ฌ์ง๋ค์ ๋ณด๋ฉฐ ์ถ์ต์ ์ ์ด ์๋ ๋ฃจ๋ ์ฌ์ง๋ณ๋ก ์ถ์ต ์ ์๋ฅผ ๋งค๊ธธ๋ ค๊ณ ํฉ๋๋ค. ์ฌ์ง ์์ ๋์ค๋ ์ธ๋ฌผ์ ๊ทธ๋ฆฌ์ ์ ์๋ฅผ ๋ชจ๋ ํฉ์ฐํ ๊ฐ์ด ํด๋น ์ฌ์ง์ ์ถ์ต ์ ์๊ฐ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ง ์ ์ธ๋ฌผ์ ์ด๋ฆ์ด ["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]์ ์์๋ค์ ์ค๋ณต๋ ๊ฐ์ด ๋ค์ด๊ฐ์ง ์์ต๋๋ค.
- 3 ≤ name์ ๊ธธ์ด = yearning์ ๊ธธ์ด≤ 100
์ ์ถ๋ ฅ ์
์ ์ถ๋ ฅ ์ ์ค๋ช
๐ก ์ฑ๊ณตํ ํ์ด
function solution(name, yearning, photo) {
const answer = [];
const hash = new Map();
name.forEach((item, index) => {
hash.set(item, yearning[index]);
})
for(let i = 0; i < photo.length; i++) {
let count = 0;
for(let j = 0; j < photo[i].length; j++) {
const score = hash.get(photo[i][j]);
if(!score) continue;
count += score;
}
answer.push(count);
}
return answer;
}
hash ์๋ฃ๊ตฌ์กฐ๋ฅผ ํตํด์ ์ด๋ฆ์ key, ์ ์๋ฅผ value๋ก ์ด๊ธฐํํด์ฃผ์๋ค.
photo ์ด์ค ๋ฐฐ์ด์ ๋ํ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฌ๋๋ฐ,
์ฒซ ๋ฒ์งธ ๋ฐ๋ณต๋ฌธ์์๋ ์ ์์ ํฉ์ ๊ณ์ฐํ count ๋ณ์๋ฅผ 0์ผ๋ก ์ด๊ธฐํํด์ฃผ์๋ค.
์ฒซ ๋ฒ์งธ ๋ฐ๋ณต๋ฌธ์ ์ ์ธํ ์ด์ ๋ ๊ฐ ์ฌ์ง๋ง๋ค ์ ์ ํฉ์ฐ์ด ๋๋ ๋ค ๋ค์ ์ฌ์ง์ ๊ณ์ฐํ ๋ 0์ผ๋ก ์ด๊ธฐํ์์ผ์ค์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฌ์ง ์ ์ธ๋ฌผ์ ๋ํ ๋ฐ๋ณต๋ฌธ(์์ ์๋ ๋ฐ๋ณต๋ฌธ)์ด ์คํ๋ ๋์๋ ํด๋น ์ด๋ฆ์ ํตํด์ hash์ key๋ก ์ ๊ทผํด์ value(์ ์)๋ฅผ ๊ฐ์ ธ์์ score ๋ณ์์ ๋ด์์ฃผ์๋ค.
์ธ๋ฌผ๋ง๋ค ์ ์๊ฐ ์๋ ๊ฒฝ์ฐ๋ ์์ด์ score ๋ณ์์ ๊ฐ์ด ์์ผ๋ฉด continue๋ฅผ ํตํด์ ๋ค์ ์์๋ก ๊ฑด๋๋ฐ๊ฒ ํด ์ฃผ๊ณ ,
์ด ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด count ๋ณ์์ socre๋ฅผ ๋ํด์ง๋๋ก ํ๋ค.
์ธ๋ฌผ ์ ์ ์ ํฉ์ฐ์ด ๋๋๋ฉด answer ๋ณ์์ count๋ฅผ push ํด์ฃผ์๋ค.
โ ์ฑ์