https://school.programmers.co.kr/learn/courses/30/lessons/42587
ํ์ด
ํ์ ๋งจ ์์ ์๋ ํ๋ก์ธ์ค๋ฅผ ๋ฝ์๋ด๊ณ let front = priorities.push()
์ด ํ๋ก์ธ์ค๋ณด๋ค ์ฐ์ ์์๊ฐ ๋์ ์์๊ฐ ํ์ ์๋์ง ๊ฒ์ฌํ๋ค priorities.find(v => v > front) === undefined
๋ง์ฝ ์๋ค๋ฉด ๊ทธ๋๋ก ํ์ ์ง์ด๋ฃ๋๋ค prioities(front)
์๋ค๋ฉด ์ด๊ฑด ํด๋น ํ๋ก์ธ์ค๊ฐ ์คํ๋์๋ค๋ ๋ป์ด๋ฏ๋ก ๋ค์ ์ง์ด๋ฃ์ง ์๋๋ค
์ฌ๊ธฐ์ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ ๋ฐฉ๊ธ ์คํํ ํ๋ก์ธ์ค๊ฐ location์ ํด๋นํ๋ ํ๋ก์ธ์ค์๋์ง์ ์ฌ๋ถ์ด๋ค.
๋๋ ๋ฐ๋ก ๋ฐฐ์ด๋ด์ ์ด๋ฅผ ํ์ํ๊ณ ์ถ์ง ์์ ๊ทธ๋ฅ ๋๊ฐ์ ํฌ๊ธฐ์ location์ธ์ง ์๋์ง ์๋ ค์ฃผ๋ ๋ฐฐ์ด์ ํ๋ ๋ง๋ค์ด๋๊ณ let q = [];
priorites ํ์ ์ฐ์ฐ๊ณผ ๋๊ฐ์ ์ฐ์ฐ์ ์คํํด์ฃผ๋ฉฐ ํ์ฌ ๋ฝ์๋ธ ํ๋ก์ธ์ค๊ฐ location์ ํด๋นํ๋ ํ๋ก์ธ์ค์ธ์ง ์๋์ง๋ฅผ ํ๋ณํ๋ค.
๋ฐฐ์ด์ ํ๋ ๋ ๋ง๋ค์ด์ผํ๋ ์๊ณ ์ค๋ฌ์์ ์์ง๋ง ๊ดํ ๊ธฐ์กด priorities๋ฅผ ๋ณํํ๋๊ฒ๋ณด๋ค๋ ๋์ ๋ฏ ํ๋ค.
function solution(priorities, location) {
let q = [];
for(let i=0; i<priorities.length; i++) {
if(i===location) q.push(true);
else q.push(false);
}
let ans = 0;
while(true) {
let front = priorities.shift();
let f = q.shift();
if(priorities.find(v => v > front) !== undefined) {
priorities.push(front);
q.push(f);
}
else {
ans++;
if(f) return ans;
}
}
}
์๋ฐ์คํฌ๋ฆฝํธ์ ํ
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฐ๋ก ํ๋ผ๋ ์๋ฃ๊ตฌ์กฐ๊ฐ ์๊ธฐ์ ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ํ์ธ์ฒ ํด์ผํ๋ค
queue<int> q;
q.push(1);
q.pop();
q.empty();
let q = [];
q.push(1);
q.shift();
q.length===1;
์์๋ c++์์์ ํ๊ณ ์๋๋ JS์์์ ํ(์ธ์ฒํ๋ ๋ฐฐ์ด)์ ๋ํ๋ธ๋ค.
'๐ ๋ญ? JS๋ก PS๋ฅผ ํ๋ค๊ณ ?' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ํ๊ฒ ๋๋ฒ (0) | 2023.05.23 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ์คํ์ฑํ ๋ฐฉ (0) | 2023.05.19 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ํํ (1) | 2023.05.17 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ์์ (0) | 2023.05.16 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ (0) | 2023.05.12 |