728x90
๋ฐ์ํ
https://school.programmers.co.kr/learn/courses/30/lessons/43164?language=javascript
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ3
DFS ์ ํ ๋ฌธ์ ์ด๊ณ , ์์ ์ CPP๋ก ํ์๋๋ฐ js๋ก ๋ค์ ํ์ด๋ณด์๋ค.
ํ ๊ฒฝ๋ก๋ก ๋๊น์ง ํ์ํด์ผํ๋ฏ๋ก ๊น์ด์ฐ์ ํ์์ ์งํ,
๋ง์ฝ ๋๊น์ง ์งํํ์ง ๋ชปํ๋ค๋ฉด ๋ฐฑํธ๋ํน์ด ํ์ํ๋ค!
(pop & visited false ์ฒ๋ฆฌ)
๋์ ํ์ด
let answer = [];
let isAnswer = false;
let visited = new Array(10001).fill(false);
let Tickets;
const dfs=(now, count)=>{
answer.push(now);
if(count===Tickets.length) isAnswer=true;
for(let i=0; i<Tickets.length; ++i){
if(visited[i]) continue;
if(now == Tickets[i][0]){
visited[i] = true;
dfs(Tickets[i][1], count+1);
if(!isAnswer){
answer.pop();
visited[i] = false;
}
}
}
}
function solution(tickets) {
Tickets = tickets.sort();
dfs("ICN", 0);
return answer;
}
728x90
๋ฐ์ํ
'๐ ์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript/PGS] Lv.2 : ์์ ์์ถ (PCCP ๊ธฐ์ถ๋ฌธ์ 2๋ฒ) (0) | 2025.03.26 |
---|---|
[Javascript/PGS] Lv.2 : ํผ์ฆ ๊ฒ์ ์ฑ๋ฆฐ์ง (PCCP ๊ธฐ์ถ๋ฌธ์ 2๋ฒ) (0) | 2025.03.25 |
[Javascript/PGS] Lv.3 : ๋ณด์ ์ผํ (0) | 2025.03.20 |
[Javascript/PGS] Lv.3 : ๋ถ๋๋ณต๊ท (0) | 2025.03.20 |
[Javascript/PGS] Lv.3 : ๋ถ๋ ์ฌ์ฉ์(2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด์ญ) (0) | 2025.03.20 |