[TIL] 250902

๊น€์„ธํฌยท2025๋…„ 9์›” 2์ผ

โœ๏ธToday I Learned

๐Ÿ“… 2025-09-02

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ฐฐ๋‹ฌ
  • ๋ฐ๋””์ผ€์ดํ‹ฐ๋“œ์„œ๋ฒ„ - ๋ฐ์Šค๋งค์น˜

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ฐฐ๋‹ฌ

๋ฌธ์ œ ๋งํฌ

ํ’€์ด

#include <vector>
using namespace std;

void calculateTime(vector<vector<int>>& road, const int K,int town,
                   int time, vector<int>& delivery)
{
    for(int i=0; i<road.size(); i++)
    {
        int nextTown=0;
        if(road[i][0]==town) nextTown = road[i][1];
        else if(road[i][1]==town) nextTown = road[i][0];
        else continue;
        
        int newTime = time + road[i][2];
        if(newTime>K) continue;
        if(newTime<delivery[nextTown])
        {
            delivery[nextTown] = newTime;
            calculateTime(road,K,nextTown,newTime,delivery);
        }
    }
}

int solution(int N, vector<vector<int> > road, int K) {
    int answer = 0;
    vector<int> delivery(N+1,1e9);
    delivery[1]=0;
    calculateTime(road,K,1,0,delivery);
    
    for(int i=1; i<delivery.size();i++)
    {
        if(delivery[i]<=K) answer++;
    }
    
    return answer;
}

๋ฐ๋””์ผ€์ดํ‹ฐ๋“œ์„œ๋ฒ„ - ๋ฐ์Šค๋งค์น˜

์•„๋‹ˆ ์™œ ํ”Œ๋ ˆ์ด์–ด 1์—์„œ๋งŒ ์œ„์ ฏ ์ถ”๊ฐ€๋„ ์•ˆ๋˜๊ณ  ์ฒด๋ ฅ ์—…๋ฐ์ดํŠธ๋„ ์•ˆ๋˜๊ณ 


๐Ÿ’ก ๋А๋‚€ ์  (What I Felt)


์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ฐฐ๋‹ฌ
์ถœ์ฒ˜: ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

0๊ฐœ์˜ ๋Œ“๊ธ€