https://school.programmers.co.kr/learn/courses/30/lessons/77486
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ3
ํด์๋งต ๊ตฌํ ๋ฌธ์ .
๋ณธ์ธ์ ์ด๋์ 90%์ด๊ณ , ๋ถ๋ชจ์๊ฒ 10%๋ฅผ ๋๊ฒจ์ฃผ๋ฉด ๋๋๋ฐ
์ด ๋ ๋ฌด์์ 0.9์ 0.1์ ๊ณฑํ๋ฉด ์๋๊ณ , 10%๋ฅผ ๊ตฌํ ๋ค ๊ทธ ์ฐจ๋ฅผ ์ด์ฉํด์ผ ํ๋ค.!! (์์ ๋ชซ = ๋ - ๋*10%)
๋ฐ์ฌ๋ฆผ/๋ด๋ฆผ์ด ์ผ์ด๋๋ฉด์ ์๊ฐ ๋ฐ๋๊ธฐ ๋๋ฌธ์..์ฃผ์ํ๊ธฐ ใ ใ
์ฒ์์ ์ ์ถํ์ ๋, ํ ์ผ 11๋ฒ ~ 13๋ฒ์ด ์๊ฐ์ด๊ณผ๊ฐ ๊ฑธ๋ ค์ ๋ญ์ง? ์ถ์๋๋ฐ
while๋ฌธ์์ ์ข ๋ฃ ์กฐ๊ฑด์ ํ๋ ๋ ์ถ๊ฐํด์ฃผ๋ ํต๊ณผ๋์๋ค!
์ฒ์์๋ ์ต์์ ๋ถ๋ชจ์ ๋ค๋ค๋์ ๋๋ง ์ข ๋ฃํด์ฃผ์๋๋ฐ,
ํ์ฌ ๊ธ์ก์ด 0์ด ๋์์ ๋ ์กฐ๊ฑด์ ์ถ๊ฐํ๋ ๋ ํจ์จ์ ์ธ ์ฝ๋๊ฐ ๋์๋ค
๋์ ํ์ด
// input -> ๋ณธ์ธ์ 90%, ์์์ 10%๋ฅผ ๋๊น. 10์ ๋ฏธ๋ง์ด๋ฉด ๋ณธ์ธ์ด ๊ฐ์ง
// ์นซ์ ๊ฐ๋น 100์
function solution(enroll, referral, seller, amount) {
var answer = [];
let money = new Map();
let parents = new Map();
enroll.map(e=>{ money.set(e,0); }) // ์ฌ๋ & ๊ธ์ก ์ ์ฅ
for(let i=0; i<enroll.length; ++i) parents.set(enroll[i], referral[i]); // ์ฌ๋ & ๋ถ๋ชจ ์ ์ฅ
for(let i=0; i<seller.length; ++i){
let person = seller[i];
let howmuch = amount[i]*100;
while(person!="-" && howmuch>0){
let tenPercent = Math.floor(howmuch/10);
money.set( person, money.get(person) + howmuch-tenPercent );
// console.log(person, money.get(person));
person = parents.get(person);
howmuch = tenPercent;
}
}
money.forEach(m=>{
answer.push(m);
})
return answer;
}
'๐ ์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript/PGS] Lv.4 : ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๊ฐฏ์ (DP) (0) | 2025.05.08 |
---|---|
[Javascript/PGS] Lv.3 : ๊ฑฐ์ค๋ฆ๋ (DP) (1) | 2025.05.08 |
[Javascript/PGS] Lv.3 : [1์ฐจ] ์ ํ๋ฒ์ค (2018 KAKAO) (0) | 2025.05.08 |
[Javascript/PGS] Lv.2 : n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ (0) | 2025.05.08 |
[Javascript/PGS] Lv.3 : ๊ฒฝ์ฃผ๋ก ๊ฑด์ค (BFS) (1) | 2025.05.07 |