https://school.programmers.co.kr/learn/courses/30/lessons/131701
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
ํ์ด
progresses = progresses.map((v, idx) => Math.ceil((100-v)/speeds[idx]));
ํ๋ก๊ทธ๋ ์ค ๋ฐฐ์ด์ ๊ฐ๋ฐ์ ํ์ํ ๋ ์ ์๋ก ๋ฐ๊ฟ์ฃผ์๋ค
์ดํ ์คํ์ ์ด์ฉํ์๋ค.
์ ๊ธฐ๋ฅ์ด ๋ ์ค๋๊ฑธ๋ฆฐ๋ค๋ฉด ํด๋น ๊ธฐ๋ฅ์ ์ ๊ธฐ๋ฅ๊ณผ ๋์์ ๋ฐฐํฌ๋๋ ๊ฒ์ด๋ฏ๋ก ํด๋น ๋ฐฐํฌ์ ๊ธฐ๋ฅ ์๋ฅผ ๋๋ ค์ฃผ์๋ค. (ans ๋ง์ง๋ง ์์ +1)
์ ๊ธฐ๋ฅ์ด ๋ ๋น ๋ฅด๊ฒ ๋๋๋ค๋ฉด ํด๋น ๊ธฐ๋ฅ์ ์ ๊ธฐ๋ฅ์ด ๋๋ ํ์ ๋ฐฐํฌ ๋๋ ๊ฒ์ด๋ฏ๋ก ๋ฐฐํฌ๋ฅผ ์ถ๊ฐํด์ฃผ์๋ค (ans์ ์ถ๊ฐ)
function solution(progresses, speeds) {
var ans = [];
progresses = progresses.map((v, idx) => Math.ceil((100-v)/speeds[idx]));
var stack = [];
for(let i of progresses) {
if(stack.length!==0 && stack[stack.length-1] >= i) {
ans[ans.length-1]++;
} else {
stack.push(i);
ans.push(1);
}
}
return ans;
}
๋งจ ์ฒ์ ํ ์คํธ์ผ์ด์ค 1,2,4,5๋ง ์คํจํด์ ๋ฐ๋ก๋ฅผ ์ฐพ์๋ดค๋๋ ๋ ์ง๊ฐ ๊ฐ์๊ฒฝ์ฐ๋ฅผ ์๊ฐํ์ง ๋ชปํ์๋ค.
>๋ฅผ >=๋ก ๋ฐ๊ฟจ๋๋ ์ฑ๊ณตํ์๋ค
'๐ ๋ญ? JS๋ก PS๋ฅผ ํ๋ค๊ณ ?' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ์์ (0) | 2023.05.16 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ (0) | 2023.05.12 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] H-Index (0) | 2023.05.10 |
[ํ๋ก๊ทธ๋๋จธ์ค][Javascript / JS] ๊ดํธ ํ์ ํ๊ธฐ (0) | 2023.05.09 |
[ํ๋ก๊ทธ๋๋จธ์ค][Javascript / JS] ๊ทค ๊ณ ๋ฅด๊ธฐ (0) | 2023.05.08 |