https://school.programmers.co.kr/learn/courses/30/lessons/12979?language=javascript#
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 3 ๋ฌธ์ .
์์ ์ c++๋ก ํ๋ค๊ฐ ํด๊ฒฐ ๋ชปํ๋ ๋ฌธ์ ์ธ๋ฐ, ์ค๋ js๋ก๋ ํด๊ฒฐํ๋ค
๊ทธ๋๋ ์ฌ๊ณ ๋ ฅ์ด ์ข ๋์๋..^^ ์ฝ๊ฐ ์ฑ์ฅํ ๋ฏ
ํน๋ณํ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๋ ๋ฌธ์ ๋ ์๋์ง๋ง, ์ ๊ฒฝ์จ์ผ ํ ๋ถ๋ถ์ด ์๊ทผํ ๋ง๋ค.
๋ฉ์ธ ํํธ๋ n์ ๋ฒ์์ด๋ค. (๋งค์ฐ ํฌ๊ธฐ ๋๋ฌธ์ stations๋ฅผ ํ์ฉํด์ผ ํ๋ค)
์ฃผ์ํ ์ ์ ์ค๊ฐ์ ๋น ๊ตฌ๊ฐ ๊ตฌํ ์, ์์๋ 0์ด ๋์ค๋ ๊ฒฝ์ฐ๋ฅผ ์์ธ์ฒ๋ฆฌํด์ค์ผ ํ๋ค๋ ๊ฒ!!!
๊ทผ๋ฐ ์ ์ถํ๋๊น ์ ํ๋ 100% ๋์ค๋๋ฐ ํจ์จ์ฑ์์ ์๊ฐ ์ด๊ณผ๊ฐ ํ๋ ๋ด๋ค.
์ด๊ฑฐ ์ ์ด๋ฌ๋ ์ถ์ด์ ์ง๋ฌธ ๊ฒ์ํ์ ๋ค์ ธ๋ณด๋,
Java๋ก ํ์ดํ ์ฌ๋๋ค์ด ๋ฐ์ฌ๋ฆผ ์ฐ์ฐ(Math.ceil) ๋๋ฌธ์ ์ค์ดํ๋(...)ํ์ ์ด ์์๋ค.
๋ฐ์ฌ๋ฆผ ํจ์๊ฐ ์๊ทผ ํจ์จ์ด ์ข์ง ์๋ค๊ณ ํ๋ค.
์ด๊ฑธ ๋ณด๊ณ , js๋ ๋ฐ์ฌ๋ฆผ ์ฐ์ฐ ์ฐ๋ฉด ์ด๊ณผ๋๊ฒ ๋ค ์ถ์ด์ ๊ธฐ์กด ์ฝ๋์ Math.floor ํจ์๋ฅผ ๋ชจ๋ ์ง์ ์ฐ์ฐ์ผ๋ก ๋ฐ๊ฟ์ฃผ์๋ค.
๊ทธ๋ฌ๋๋ ๋ฐ๋ก ํต๊ณผ~~ใ ใ ใ
๋์ ํ์ด
function solution(n, stations, w) {
let answer = 0;
let currentNum = 1;
let noSignal = 0;
let width = 2*w+1;
// n ๋ฒ์๊ฐ ํฌ๋๊น stations์ผ๋ก ์ฐ์ฐํด์ผ๊ฒ ๋ค๊ณ ํ๋จ
for(let i=0; i<stations.length; ++i){
noSignal = stations[i]-w-currentNum;
if(n==5) console.log(noSignal, currentNum)
currentNum = stations[i]+w+1;
if(noSignal<=0) continue; // ์ฃผ์
answer += (noSignal-noSignal%width)/width;
if(noSignal%width > 0) answer += 1;
}
if(n > stations[stations.length-1]+w){
noSignal = n-(stations[stations.length-1]+w);
answer += (noSignal-noSignal%width)/width;
if(noSignal%width > 0) answer += 1;
}
return answer;
}
'๐ ์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript/PGS] Lv.2 : ์คํฌํธ๋ฆฌ (0) | 2025.02.26 |
---|---|
[Javascript/PGS] Lv.2 : ํผ๋ณด๋์น ์ (1) | 2025.02.19 |
[Javascript/PGS] Lv.3 : ์์ดํ ์ค๊ธฐ(BFS) (0) | 2025.02.17 |
[Javascript/PGS] Lv.2 : ์กฐ์ด์คํฑ (Greedy) ๐ฎ๐ฅ (1) | 2025.02.16 |
[Javascript/PGS] Lv.0 : ๋ค์์ ์ฌ ์ซ์ (์ ๋ฌธ 100์ ๋ง์คํฐ!๐ฅ) (0) | 2025.02.11 |