https://school.programmers.co.kr/learn/courses/30/lessons/118669#qna
๋ฌธ์ ์ค๋ช
XX์ฐ์ n๊ฐ์ ์ง์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ๊ฐ ์ง์ ์ 1๋ถํฐ n๊น์ง ๋ฒํธ๊ฐ ๋ถ์ด์์ผ๋ฉฐ, ์ถ์ ๊ตฌ, ์ผํฐ, ํน์ ์ฐ๋ด์ฐ๋ฆฌ์ ๋๋ค. ๊ฐ ์ง์ ์ ์๋ฐฉํฅ ํตํ์ด ๊ฐ๋ฅํ ๋ฑ์ฐ๋ก๋ก ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ, ์๋ก ๋ค๋ฅธ ์ง์ ์ ์ด๋ํ ๋ ์ด ๋ฑ์ฐ๋ก๋ฅผ ์ด์ฉํด์ผ ํฉ๋๋ค. ์ด๋, ๋ฑ์ฐ๋ก๋ณ๋ก ์ด๋ํ๋๋ฐ ์ผ์ ์๊ฐ์ด ์์๋ฉ๋๋ค.
๋ฑ์ฐ์ฝ์ค๋ ๋ฐฉ๋ฌธํ ์ง์ ๋ฒํธ๋ค์ ์์๋๋ก ๋์ดํ์ฌ ํํํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด 1-2-3-2-1 ์ผ๋ก ํํํ๋ ๋ฑ์ฐ์ฝ์ค๋ 1๋ฒ์ง์ ์์ ์ถ๋ฐํ์ฌ 2๋ฒ, 3๋ฒ, 2๋ฒ, 1๋ฒ ์ง์ ์ ์์๋๋ก ๋ฐฉ๋ฌธํ๋ค๋ ๋ป์ ๋๋ค.
๋ฑ์ฐ์ฝ์ค๋ฅผ ๋ฐ๋ผ ์ด๋ํ๋ ์ค ์ผํฐ ํน์ ์ฐ๋ด์ฐ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธํ ๋๋ง๋ค ํด์์ ์ทจํ ์ ์์ผ๋ฉฐ, ํด์ ์์ด ์ด๋ํด์ผ ํ๋ ์๊ฐ ์ค ๊ฐ์ฅ ๊ธด ์๊ฐ์ ํด๋น ๋ฑ์ฐ์ฝ์ค์ intensity๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ก ํฉ๋๋ค.
๋น์ ์ XX์ฐ์ ์ถ์ ๊ตฌ ์ค ํ ๊ณณ์์ ์ถ๋ฐํ์ฌ ์ฐ๋ด์ฐ๋ฆฌ ์ค ํ ๊ณณ๋ง ๋ฐฉ๋ฌธํ ๋ค ๋ค์ ์๋์ ์ถ์ ๊ตฌ๋ก ๋์์ค๋ ๋ฑ์ฐ์ฝ์ค๋ฅผ ์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ค์ ๋งํด, ๋ฑ์ฐ์ฝ์ค์์ ์ถ์ ๊ตฌ๋ ์ฒ์๊ณผ ๋์ ํ ๋ฒ์ฉ, ์ฐ๋ด์ฐ๋ฆฌ๋ ํ ๋ฒ๋ง ํฌํจ๋์ด์ผ ํฉ๋๋ค.
๋น์ ์ ์ด๋ฌํ ๊ท์น์ ์งํค๋ฉด์ intensity๊ฐ ์ต์๊ฐ ๋๋๋ก ๋ฑ์ฐ์ฝ์ค๋ฅผ ์ ํ๋ ค๊ณ ํฉ๋๋ค.
๋ค์์ XX์ฐ์ ์ง์ ๊ณผ ๋ฑ์ฐ๋ก๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ํํํ ์์์ ๋๋ค.
- ์ ๊ทธ๋ฆผ์์ ์์ ์ ํ ์ซ์๋ ์ง์ ์ ๋ฒํธ๋ฅผ ๋ํ๋ด๋ฉฐ, 1, 3๋ฒ ์ง์ ์ ์ถ์ ๊ตฌ, 5๋ฒ ์ง์ ์ ์ฐ๋ด์ฐ๋ฆฌ๊ฐ ์์ต๋๋ค. ๊ฐ ์ ๋ถ์ ๋ฑ์ฐ๋ก๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ ์ ๋ถ์ ์ ํ ์๋ ์ด๋ ์๊ฐ์ ๋ํ๋ ๋๋ค. ์๋ฅผ ๋ค์ด 1๋ฒ ์ง์ ์์ 2๋ฒ ์ง์ ์ผ๋ก ์ด๋ํ ๋๋ 3์๊ฐ์ด ์์๋ฉ๋๋ค.
์์ ์์์์ 1-2-5-4-3 ๊ณผ ๊ฐ์ ๋ฑ์ฐ์ฝ์ค๋ ์ฒ์ ์ถ๋ฐํ ์๋์ ์ถ์ ๊ตฌ๋ก ๋์์ค์ง ์๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ๋ฑ์ฐ์ฝ์ค์ ๋๋ค. ๋ํ 1-2-5-6-4-3-2-1 ๊ณผ ๊ฐ์ ๋ฑ์ฐ์ฝ์ค๋ ์ฝ์ค์ ์ฒ์๊ณผ ๋ ์ธ์ 3๋ฒ ์ถ์ ๊ตฌ๋ฅผ ๋ฐฉ๋ฌธํ๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ๋ฑ์ฐ์ฝ์ค์ ๋๋ค.
๋ฑ์ฐ์ฝ์ค๋ฅผ 3-2-5-4-3 ๊ณผ ๊ฐ์ด ์ ํ์ ๋์ ์ด๋๊ฒฝ๋ก๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
์ด๋, ํด์ ์์ด ์ด๋ํด์ผ ํ๋ ์๊ฐ ์ค ๊ฐ์ฅ ๊ธด ์๊ฐ์ 5์๊ฐ์ ๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฑ์ฐ์ฝ์ค์ intensity๋ 5์ ๋๋ค.
๋ฑ์ฐ์ฝ์ค๋ฅผ 1-2-4-5-6-4-2-1 ๊ณผ ๊ฐ์ด ์ ํ์ ๋์ ์ด๋๊ฒฝ๋ก๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
์ด๋, ํด์ ์์ด ์ด๋ํด์ผ ํ๋ ์๊ฐ ์ค ๊ฐ์ฅ ๊ธด ์๊ฐ์ 3์๊ฐ์ ๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฑ์ฐ์ฝ์ค์ intensity๋ 3์ด๋ฉฐ, ์ด ๋ณด๋ค intensity๊ฐ ๋ฎ์ ๋ฑ์ฐ์ฝ์ค๋ ์์ต๋๋ค.
XX์ฐ์ ์ง์ ์ n, ๊ฐ ๋ฑ์ฐ๋ก์ ์ ๋ณด๋ฅผ ๋ด์ 2์ฐจ์ ์ ์ ๋ฐฐ์ด paths, ์ถ์ ๊ตฌ๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ์ ์ ๋ฐฐ์ด gates, ์ฐ๋ด์ฐ๋ฆฌ๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ์ ์ ๋ฐฐ์ด summits๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ด๋, intensity๊ฐ ์ต์๊ฐ ๋๋ ๋ฑ์ฐ์ฝ์ค์ ํฌํจ๋ ์ฐ๋ด์ฐ๋ฆฌ ๋ฒํธ์ intensity์ ์ต์๊ฐ์ ์ฐจ๋ก๋๋ก ์ ์ ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. intensity๊ฐ ์ต์๊ฐ ๋๋ ๋ฑ์ฐ์ฝ์ค๊ฐ ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด ๊ทธ์ค ์ฐ๋ด์ฐ๋ฆฌ์ ๋ฒํธ๊ฐ ๊ฐ์ฅ ๋ฎ์ ๋ฑ์ฐ์ฝ์ค๋ฅผ ์ ํํฉ๋๋ค.
๋ด ํ์ด
๊ฐ์ฅ ๋ฎ์ intensity๋ฅผ ๊ฐ์ง ๊ฒฝ๋ก์ ์ฐ๋ด์ฐ๋ฆฌ ๋ ธ๋์ ๊ทธ intensity๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค.
ํ๋ก์ด๋ ์์ฌ vs ๋ค์ต์คํธ๋ผ vs BFS ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ผํ ๊น?
- ํ๋ก์ด๋ ์์ฌ : ์ฌ๋ฌ ๊ฐ์ ์ถ์ ๊ตฌ์ ์ฌ๋ฌ ๊ฐ์ ์ ์์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ด๋ ์์ฌ๋ก ํ์ด์ผ ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๋ฌธ์ ์ด์ง๋ง ํ๋ก์ด๋ ์์ฌ๋ก๋ ๋ฌธ์ ๊ฐ ํ๋ฆฌ์ง ์๋๋ค. ์ฌ๋ฌ ๊ฒฝ๋ก ์ค ์ต๋จ ๊ฑฐ๋ฆฌ์ ๊ฒฝ๋ก๋ฅผ ์๊ณ ์ ํ๋ ๊ฒ์ด ์๋๊ณ , ๊ฒฝ๋ก ์ค์์ ๊ฐ์ฅ ๋น์ฉ์ด ํฐ ๊ธธ์ ๋น์ฉ์ ์์์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ค์ต์คํธ๋ผ : “์ถ์ ๊ตฌ → ์ ์ → ์ถ์ ๊ตฌ” ๊ฒฝ๋ก๋ก ์ด๋ํ๊ธฐ ๋๋ฌธ์ ๋ค์ต์คํธ๋ผ๋ก ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค. ์ต๋จ๊ฑฐ๋ฆฌ “์ถ์ ๊ตฌ→์ ์” ์ฝ์ค์ “์ ์→์ถ์ ๊ตฌ” ์ฝ์ค๋ ๋์ผํ๊ธฐ ๋๋ฌธ์ ํ๋์ ๋ ธ๋(์ถ์ ๊ตฌ)์์ ๋ชจ๋ ๋ ธ๋๊น์ง์ ๊ฒฝ๋ก๋ฅผ ๊ณ์ฐํ๋ ๋ค์ต์คํธ๋ผ๋ก ํ ์ ์๋ ๊ฒ์ด๋ค.
- BFS : ๋ช๋ช ๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ๋ณด๋ ๋ค์ต์คํธ๋ผ๋ก ํธ๋๋ฐ, ์ฌ์ค ์ด ๋ฌธ์ ๋ ์ต๋จ๊ฑฐ๋ฆฌ์๋ ์๊ด์๋ค. BFS๋ก ํ ์ ์๋ค. ์คํ๋ ค ๋ค์ต์คํธ๋ผ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ณผํ ๋๋…?
์ฌ๋ฌ ์ถ์ ๊ตฌ ์ค์์ ์ด๋ค ์ถ์ ๊ตฌ๋ฅผ ์ ํํ ๊ฒ์ธ๊ฐ?
- ์ผํ๋ณด๋ฉด ์ถ์ ๊ตฌ๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ค์ํด๋ณด์ด์ง๋ง ๊ทธ๋ ์ง ์๋ค. ์ฐ๋ฆฌ๊ฐ ๊ตฌํ๋ ๊ฒ์ ์ฐ๋ด์ฐ๋ฆฌ ๋ ธ๋์ ๊ทธ intensity ๋ฟ์ด๋ค.
์ด๋ป๊ฒ ์ฐ๋ด์ฐ๋ฆฌ ๋ ธ๋์ ๊ทธ intensity๋ฅผ ๊ตฌํ ์ ์์๊น?
- ํฌ์ธํธ๋ ์๋ฌด ์ถ์ ๊ตฌ์์ ์๋ฌด ์ฐ๋ด์ฐ๋ฆฌ์ ๋์ฐฉํ๋ ๊ฒ ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ฐ๋ด์ฐ๋ฆฌ์ intensity๋ฅผ ์ ์ฅํ๊ณ ๋น๊ตํ์ฌ ๊ฐ์ฅ intensity๊ฐ ์ ์ ์ฐ๋ด์ฐ๋ฆฌ ๊ตฌํ๋ ๊ฒ์ด๋ค.
- ํ์ด ๊ณผ์
- ๋ชจ๋ ์ถ์ ๊ตฌ๋ฅผ ํ์ ๋ฃ๋๋ค.
- ํ๊ฐ ๋น ๋๊น์ง ๊ฐ ๋
ธ๋๋ฅผ ๋ฐฉ๋ฌธํ๋ฉฐ intensity๋ฅผ ๊ฐฑ์ ํ๋ค.
- ํ์ฌ ๋
ธ๋๊ฐ ์ฐ๋ด์ฐ๋ฆฌ ๋
ธ๋์ผ ๋
- ์ด์ ๋ฒ ๋ฐฉ๋ฌธํ๋ ์ฐ๋ด์ฐ๋ฆฌ ๋ ธ๋๊ฐ ์๋ค๋ฉด ์ ๋ต์ผ๋ก ๋ฑ๋ก
- ์ด์ ์ ๋ฐฉ๋ฌธํ๋ ์ฐ๋ด์ฐ๋ฆฌ ๋ ธ๋๋ณด๋ค ์ ์ intensity๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด ์ ๋ต์ผ๋ก ๋ฑ๋ก
- ํ์ฌ ๋
ธ๋๊ฐ ์ผ๋ฐ ๋
ธ๋์ผ ๋ ์ฐ๊ฒฐ๋ ๋
ธ๋๋ค์ ํ๋์ฉ ๋ฐฉ๋ฌธ
- ์ด๋ ํ์ฌ๊น์ง intensity์ ๋ค์ ๋ ธ๋๋ก ๊ฐ๋ ๋น์ฉ์ ๋น๊ตํด์ ๋ ํฐ ๊ฒ์ intensity๋ก ๋ฑ๋กํด์ ํ์ ๋ฃ์ด์ค๋ค.
- ๋ค์ ๋ ธ๋์ ์ฒ์ ๋ฐฉ๋ฌธํ๊ฑฐ๋ ํ์ฌ ๊ฒฝ๋ก์ intensity๊ฐ ๋ ์งง์ ๊ฒฝ์ฐ์๋ง ํ์ ๋ฃ์ด์ค๋ค.
- ํ์ฌ ๋
ธ๋๊ฐ ์ฐ๋ด์ฐ๋ฆฌ ๋
ธ๋์ผ ๋
์๊ฐ ๋ณต์ก๋ ์ค์ด๊ธฐ
- ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ ์ฅํ ๋, NxN ์ฌ์ด์ฆ์ ๋ฐฐ์ด์ ์ ์ธํด ๋ชจ๋ ๋ ธ๋์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋์ pair<int, int>์ ์ฌ์ฉํด ์ฐ๊ฒฐ๋ ๋ ธ๋์ ๋น์ฉ๋ง ์ ์ฅํ๋ค.
- n๋ฒ์งธ ๋ ธ๋๊น์ง์ ์ต์ intensity๋ฅผ ์ ์ฅํ์ฌ, ์ ์ฅ๋ intensity๋ณด๋ค ๋ ํด ๊ฒฝ์ฐ ํ์ ๋ฃ์ง ์๋๋ค.
- ์ฐ๋ด์ฐ๋ฆฌ ๋ ธ๋์ธ์ง ์ฝ๊ฒ ํ์ธํ๊ธฐ ์ํด bool ๋ฐฐ์ด๋ก ์ฐ๋ด์ฐ๋ฆฌ ๋ ธ๋๋ฅผ ํ์ํ๋ค.
๋ค์ต์คํธ๋ผ ๋ฒ์
#include <string>
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;
vector<int> solution(int n, vector<vector<int>> paths, vector<int> gates, vector<int> summits) {
vector<int> answer(2, -1);
vector<vector<pair<int, int>>> map(n+1); // first->n๋ฒ์งธ ๋
ธ๋์ ์ฐ๊ฒฐ๋ ๋
ธ๋, second->์ฐ๊ฒฐ๋ ๋
ธ๋๋ก ๊ฐ๋ ๋น์ฉ
vector<long long> distance(n+1, -1); // n๋ฒ์งธ ๋
ธ๋๊น์ง ์ต์ intensity
vector<bool> isSummit(n+1, false); // ์ ์ ํ์ธ์ฉ
priority_queue<pair<int, int>, vector<pair<int,int>>, greater<pair<int,int>>> pq; // first->intensity, second->๋
ธ๋ ์ธ๋ฑ์ค
// ์ ์ํ์
for(auto s : summits)
isSummit[s] = true;
// map์ ๊ฒฝ๋ก ์
๋ ฅ
for(const auto& p : paths)
{
map[p[0]].push_back({p[1],p[2]});
map[p[1]].push_back({p[0],p[2]});
}
// ์ถ์
๊ตฌ queue์ ์ถ๊ฐ
for(auto g : gates)
{
distance[g] = 0;
pq.push({distance[g], g});
}
// ์ต๋จ ๊ฑฐ๋ฆฌ ๊ตฌํ๊ธฐ
while(!pq.empty())
{
int curN = pq.top().second;
int intensity = pq.top().first;
pq.pop();
// ์ด๋ฏธ ์ ๋ต์ด ์๊ณ ๊ทธ intensity๊ฐ ๋ ์์ ๊ฒฝ์ฐ
if(answer[0] != -1 && answer[1] < intensity)
continue;
// ํ์ฌ ๋
ธ๋๊ฐ ์ ์์ด๋ผ๋ฉด
if(isSummit[curN])
{
// intensity๊ฐ ๋ ์์ ๊ฒฝ์ฐ ๋๋ ์์ง ๋ฑ๋ก๋ ๊ฒฝ๋ก๊ฐ ์๋ ๊ฒฝ์ฐ ์ ๋ต์ผ๋ก ๋ฑ๋ก
if(intensity < answer[1]
|| answer[0] == -1)
{
answer[0] = curN;
answer[1] = intensity;
}
// intensity๊ฐ ๊ฐ๊ณ ํ์ฌ ์ ์ ๋
ธ๋์ ๋ฒํธ๊ฐ ๋ ๋ฎ์ ๊ฒฝ์ฐ ์ ๋ต์ผ๋ก ๋ฑ๋ก
else if(intensity == answer[1]
&& curN < answer[0])
{
answer[0] = curN;
}
continue;
}
// ํ์ฌ ๋
ธ๋์ ์ฐ๊ฒฐ๋ ๋
ธ๋ ๊ตฌํ๊ธฐ
for(int i = 0; i < map[curN].size(); ++i)
{
int nextN = map[curN][i].first;
int nextIntensity = map[curN][i].second;
nextIntensity = max(intensity, nextIntensity);
// ์ฒ์ ๋ฐฉ๋ฌธํ๊ฑฐ๋ ํ์ฌ ๊ฒฝ๋ก๊ฐ ๊ฑฐ๋ฆฌ๊ฐ ๋ ์งง์ ๊ฒฝ์ฐ
if(distance[nextN] == -1 || nextIntensity < distance[nextN])
{
distance[nextN] = nextIntensity;
pq.push({nextIntensity, nextN});
}
}
}
return answer;
}
BFS ๋ฒ์
์ต๋จ๊ฑฐ๋ฆฌ ํ ์ด๋ธ ๋์ distance ๋ฒกํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ priority_queue๋ง queue๋ก ๋ฐ๊พธ๋ฉด ๊ทธ๋ฅ BFS์ด๋ค.
#include <string>
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;
vector<int> solution(int n, vector<vector<int>> paths, vector<int> gates, vector<int> summits) {
vector<int> answer(2, -1);
vector<vector<pair<int, int>>> map(n+1); // first->n๋ฒ์งธ ๋
ธ๋์ ์ฐ๊ฒฐ๋ ๋
ธ๋, second->์ฐ๊ฒฐ๋ ๋
ธ๋๋ก ๊ฐ๋ ๋น์ฉ
vector<long long> distance(n+1, -1); // n๋ฒ์งธ ๋
ธ๋๊น์ง ์ต์ intensity
vector<bool> isSummit(n+1, false); // ์ ์ ํ์ธ์ฉ
queue<pair<int, int>> q;
// ์ ์ํ์
for(auto s : summits)
isSummit[s] = true;
// map์ ๊ฒฝ๋ก ์
๋ ฅ
for(const auto& p : paths)
{
map[p[0]].push_back({p[1],p[2]});
map[p[1]].push_back({p[0],p[2]});
}
// ์ถ์
๊ตฌ queue์ ์ถ๊ฐ
for(auto g : gates)
{
distance[g] = 0;
q.push({distance[g], g});
}
// ์ต๋จ ๊ฑฐ๋ฆฌ ๊ตฌํ๊ธฐ
while(!q.empty())
{
int curN = q.front().second;
int intensity = q.front().first;
q.pop();
// ์ด๋ฏธ ์ ๋ต์ด ์๊ณ ๊ทธ intensity๊ฐ ๋ ์์ ๊ฒฝ์ฐ
if(answer[0] != -1 && answer[1] < intensity)
continue;
// ํ์ฌ ๋
ธ๋๊ฐ ์ ์์ด๋ผ๋ฉด
if(isSummit[curN])
{
// intensity๊ฐ ๋ ์์ ๊ฒฝ์ฐ ๋๋ ์์ง ๋ฑ๋ก๋ ๊ฒฝ๋ก๊ฐ ์๋ ๊ฒฝ์ฐ ์ ๋ต์ผ๋ก ๋ฑ๋ก
if(intensity < answer[1]
|| answer[0] == -1)
{
answer[0] = curN;
answer[1] = intensity;
}
// intensity๊ฐ ๊ฐ๊ณ ํ์ฌ ์ ์ ๋
ธ๋์ ๋ฒํธ๊ฐ ๋ ๋ฎ์ ๊ฒฝ์ฐ ์ ๋ต์ผ๋ก ๋ฑ๋ก
else if(intensity == answer[1]
&& curN < answer[0])
{
answer[0] = curN;
}
continue;
}
// ํ์ฌ ๋
ธ๋์ ์ฐ๊ฒฐ๋ ๋
ธ๋ ๊ตฌํ๊ธฐ
for(int i = 0; i < map[curN].size(); ++i)
{
int nextN = map[curN][i].first;
int nextIntensity = map[curN][i].second;
nextIntensity = max(intensity, nextIntensity);
// ์ฒ์ ๋ฐฉ๋ฌธํ๊ฑฐ๋ ํ์ฌ ๊ฒฝ๋ก๊ฐ ๊ฑฐ๋ฆฌ๊ฐ ๋ ์งง์ ๊ฒฝ์ฐ
if(distance[nextN] == -1 || nextIntensity < distance[nextN])
{
distance[nextN] = nextIntensity;
q.push({nextIntensity, nextN});
}
}
}
return answer;
}
'๐ฅ๏ธ Study Note > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - ๋ฐฉ๋ฌธ ๊ธธ์ด (C++) (0) | 2023.09.21 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค]level.3 - ๋ณด์ ์ผํ (C++) (0) | 2023.09.20 |
[ํ๋ก๊ทธ๋๋จธ์ค]level.3 - ์๊ณผ ๋๋ (C++) (0) | 2023.09.14 |
[ํ๋ก๊ทธ๋๋จธ์ค]level.3 - ๋ฏธ๋ก ํ์ถ ๋ช ๋ น์ด (C++) (0) | 2023.09.07 |
[BOJ 11657] ๋ฐฑ์ค ํ์๋จธ์ - C++ ํ์ด (0) | 2023.09.06 |