[PS/ํƒ์ƒ‰/BFS/DFS] ์—ฌ๊ธฐ์ €๊ธฐ ์ด๊ณณ์ €๊ณณ ํƒ์ƒ‰ํƒ์ƒ‰ 2

2021. 7. 19. 17:02ยทlearnings/PS

//์ด ๊ธ€์€ ์ด๊ณณ์˜ ๋ฌธ์ œ๋“ค์„ ์ญ‰ ํ’€๋ฉฐ ํƒ์ƒ‰์˜ ๊ธฐ๋ณธ์„ ๋‹ค์ง€๋Š” ๊ณผ์ •์„ ์ ์—ˆ์Šต๋‹ˆ๋‹ค.

#1 ๋ฐฑ์ค€ 1260๋ฒˆ DFS์™€ BFS

DFS์™€ BFS์˜ Hello World! ์ •๋„์˜ ๋ฌธ์ œ.
ํ•˜์ง€๋งŒ...๋‚œ ์ด๊ฒƒ์กฐ์ฐจ ๊ฐ„๋‹จํžˆ ํ’€์ง€ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋ž˜๋„ ํ‘ธ๋Š” ๊ณผ์ •์—์„œ ๊ฐœ๋… ์ •๋ฆฌ๊ฐ€ ํ™•์‹คํ•˜๊ฒŒ ๋œ๋“ฏํ•ด์„œ ์ข‹์•˜๋˜ ๋ฌธ์ œ!
๋จผ์ €, ๋‚ด ๊ธฐ์–ต์†์˜ BFS์™€ DFS๋ฅผ ๋”๋“ฌ๋”๋“ฌ ํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.

void DFS(int v) {
	visited[v] = 1;
	cout << v << ' ';
	for (int i = 0; i < graph01[v].size(); i++) {
		int next = graph01[v][i];
		if (visited[next] == 0 ) {
			DFS(next);
		}
	}
}

void BFS(int v) {
	queue<int> q;
	q.push(v);
	visited2[v] = 1;
	while(!q.empty()){
		int x = q.front();
		q.pop();
		cout << x << ' ';
		for (int i = 0; i < graph01[x].size(); i++) {
			int next = graph01[x][i];
			if (visited2[next] == 0) {
				q.push(next);
				visited2[next] = 1;
			}
		}
	}

์ •์ˆ˜ํ˜• visited, visited2 ๋ฐฐ์—ด์„ ์„ ์–ธํ•ด ๊ฐ๊ฐ ๋ฐฉ๋ฌธ์—ฌ๋ถ€๋ฅผ ์ ์—ˆ๊ณ , ์ฒซ๋ฒˆ์งธ ์ผ€์ด์Šค๋Š” ๋ฌด๋‚œํ•˜๊ฒŒ ํ†ต๊ณผํ•˜๋Š”๋“ฏ ์‹ถ์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ,,,, ๋‘๋ฒˆ์งธ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—์„œ๋Š” ใ… ใ… ..

..?๋ฌด์—‡์ด ๋ฌธ์ œ์ฃ ..? ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”๊ฒƒ ๊ฐ™์€๋ฐ์š”??? ์ €๋Š” ๋ฐฐ์šด ๊ทธ๋Œ€๋กœ ์ผ์–ด์š”!!!
๋ฌธ์ œ๋Š” ์ž…๋ ฅ๋ถ€์— ์žˆ์—ˆ๋‹ค.

	for (int i = 0; i < M; i++) {
		int tmp1, tmp2;
		cin >> tmp1 >> tmp2;
		graph01[tmp1].push_back(tmp2);
        //graph01[tmp2].push_back(tmp1); <-๊ฐ„๋‹จํžˆ ์š”๋†ˆ๋งŒ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.
	}

graph01์€ ์ธ์ ‘๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„ํ•ด ๋†“์€๊ฑด๋ฐ, ํฌ์ธํŠธ๋Š” ์ด๊ฒŒ ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์˜€๋‹ค๋Š” ์ ์ด๋‹ค.
์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋Š” ๊ฐ„์„ ์„ ์ถ”๊ฐ€ํ•ด์ค„๋•Œ ์–‘ ์ •์ ์„ ๋งํฌ์‹œ์ผœ์ค˜์•ผ ํ•œ๋‹ค.
์ € ์ฝ”๋“œ๋Œ€๋กœ๋ผ๋ฉด, 5์™€ 1์„ ๋งํฌ์‹œํ‚ฌ๋–„, 5์—์„œ 1๋กœ ๊ฐ€๋Š” ๊ฐ„์„ ์€ ์žˆ์ง€๋งŒ 1์—์„œ 5๋กœ ๊ฐ€๋Š” ๊ฐ„์„ ์€ ์—†๋‹ค๋Š” ์–˜๊ธฐ.

ํ—ˆ๋‚˜ ๋ฌธ์ œ๋Š” ๊ทธ๋ฟ๋งŒ์ด ์•„๋‹ˆ์—ˆ๋Š”๋ฐ..

??? ์ €๊ธฐ์š”?

์ด๋ฒˆ์—๋Š” ์ˆœ์„œ๊ฐ€ ๋ฌธ์ œ์˜€๋‹ค. 
์ •์ ์„ ๋ฐฉ๋ฌธํ• ๋•Œ ํŠน๋ณ„ํ•œ ๊ทœ์น™์ด ์—†๋‹ค๋ฉด ๊ฐ’์ด ์ ์€ ์ •์ ๋ถ€ํ„ฐ ๋ฐฉ๋ฌธํ•˜๋Š”๊ฒŒ ์ผ๋ฐ˜์ ์ด๊ณ , ์ด ๋ฌธ์ œ์—์„œ๋„ ๊ทธ๊ฑธ ์š”๊ตฌํ•˜๊ณ  ์žˆ๋‹ค.
๊ทธ๋ž˜..๋‚ด ์ฝ”๋“œ๋Š” ์ •๋ ฌ๊ฐ™์€๊ฑด ํ•˜์ง€ ์•Š์•˜์ง€. 
์ •๋ ฌ๋งŒ ํ•œ๋‹ค๋ฉด ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐ ๋  ๋ฌธ์ œ์ง€๋งŒ, ๋‚œ c++์—์„œ ์ œ๊ณตํ•˜๋Š” sort() ํ•จ์ˆ˜์˜ ๋ฌธ์ œ์ ๋•Œ๋ฌธ์— ์ฆ๊ฒจ ์‚ฌ์šฉํ•˜์ง„ ์•Š๋Š”๋‹ค.

(c++์˜ sort()๋Š” ํ€ต์ •๋ ฌ์ด์ง€๋งŒ, ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ์›๋ž˜์™€๋Š” ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ณ , ๊ทธ๋กœ์ธํ•ด ์ธ๋ฑ์Šค๋„ ๋ถˆ๊ทœ์น™ํ•ด ์งˆ ์œ„ํ—˜์„ฑ์ด ์žˆ๋‹ค. ์ด๋Š” ์ „์ฒดํƒ์ƒ‰ํ• ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์„์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ณต๊ฐ„๋ณต์žก๋„๋‚˜ ์ธ๋ฑ์Šค๋ฅผ ์ง์ ‘ ์ ‘๊ทผํ• ๋•Œ๋‚˜ ์—ฌ๋Ÿฌ๋ชจ๋กœ ์œ„ํ—˜ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.)

sort()๋ฅผ ์จ์„œ ํ•ด๊ฒฐํ–ˆ๋‹ค.

	for (int i = 1; i <= N; i++) {
		sort(graph01[i].begin(), graph01[i].end());
	}

์Œ ๋ญ ๊ทธ๋ž˜์š”. ์ฉ ๋ง˜์— ๋“ค์ง€๋Š” ์•Š์ง€๋งŒ...


ํ•˜์ง€๋งŒ sort()๋ฅผ ์“ฐ๊ณ ์‹ถ์ง€๋Š” ์•Š์•˜๋‹ค.
๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ ์ƒ๊ฐํ•˜๋‹ค๊ฐ€, ์ธ์ ‘ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋ฒˆ์ฉ!
์ธ์ ‘ํ–‰๋ ฌ์€ ์ธ๋ฑ์Šค์— ์ง์ ‘ ์ ‘๊ทผํ•ด ๊ฐ„์„ ์„ ์ถ”๊ฐ€ํ•ด ์ฃผ๋Š” ์‹์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆด๋•Œ ๋‚ฎ์€ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•œ๋‹ค๋ฉด
์ •๋ ฌ๊ณผ์ •์ด ๊ตณ์ด ํ•„์š” ์—†์„๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.
๋ฐ”๋กœ ์‹ค์ฒœํ•ด๋ณด์ž!

int graph[1001][1001] = { 0 }; //์ž…๋ ฅ ํฌ๊ธฐ๊ฐ€ 1000๊นŒ์ง€ ์ด๊ธฐ ๋•Œ๋ฌธ์— ํฐ ๋ฌธ์ œ๋Š” ์—†์„๋“ฏ ์‹ถ๋‹ค.

int main()
{
	cin >> N >> M >> V;

	for (int i = 0; i < M; i++) {
		int tmp1, tmp2;
		cin >> tmp1 >> tmp2;
		graph[tmp1][tmp2] = 1;
		graph[tmp2][tmp1] = 1;
	}
    
	DFS(V);
	cout << endl;
	BFS(V);
}
void DFS(int v) {
	visited[v] = true;
	cout << v << ' ';

	for (int i = 1; i <=N; i++) {
		if (graph[v][i]&& !visited[i]){
				DFS(i);
		}
	}
}

void BFS(int v) {
	queue<int> q;
	q.push(v);
	visited2[v] = 1;

	while(!q.empty()){
		int x = q.front();
		q.pop();
		visited2[x] = true;
		cout << x << ' ';
		for (int i = 1; i <= N; i++) {
			if (graph[x][i] && !visited2[i]) {
					q.push(i);
					visited2[i] = 1;
			}
		}
	}
}

์ฝ”๋“œ๋ฅผ ์งœ๋˜ ์ค‘, ์ธ์ ‘ํ–‰๋ ฌ์€ ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ
๋‹ค์Œ ๋ฐฉ๋ฌธํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•ด์ฃผ๋Š” next๋“ฑ์˜ ๋ณ€์ˆ˜๊ฐ€ ํ•„์š” ์—†์„๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๊ณ , ๊ทธ๊ฒƒ์€ ์•„๋งˆ ์˜ณ์€ ์ƒ๊ฐ์ด์—ˆ๋˜๊ฒƒ ๊ฐ™๋‹ค.
์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด ๋ฐ”๋กœ ๋‹ค์Œ ์ •์ ์˜ ๋ฒˆํ˜ธ๋ฅผ ์•Œ๋ ค์ฃผ์ง€๋งŒ, ์ธ์ ‘ํ–‰๋ ฌ์€ ๋‹จ์ˆœํžˆ ์ •์ ๊ฐ„์˜ ๊ฐ„์„ ์œ ๋ฌด๋งŒ ์•Œ๋ ค์คŒ๊ณผ ๋™์‹œ์— ์ด๋ฏธ ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— ๊ทธ ์—ญํ• ์„ ํ•˜๋Š” ๋ณ€์ˆ˜๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ,,,

๋ฌธ์ œ ์—†๊ตฐ์š” ํ˜ธํ˜ธ
์„ฑ๊ณต

#2 ๋ฐฑ์ค€ 1303๋ฒˆ ์ „์Ÿ - ์ „ํˆฌ

์–ด๋ ค์›Œ ๋ณด์ด์ง€ ์•Š์•˜์ง€๋งŒ...์กฐ๊ธˆ ํ•ด๋งธ๋‹ค.
๋งŽ์€ ํƒ์ƒ‰ ๋ฌธ์ œ๋“ค์ด flood fill ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.
์ด ๋ฌธ์ œ๋„ flood fill ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‘์šฉ์ธ๋“ฏ.
(flood fill ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด๊ณณ์—์„œ ์‚ดํŽด๋ณผ์ˆ˜ ์žˆ๋‹ค. ๊ตฌํ˜„์€ DFS / BFS ๋‘˜ ๋‹ค ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.)

๊ตฌ์ƒ์€ ๊ฐ„๋‹จ. ๊ฐ ์ขŒํ‘œ๋ณ„๋กœ flood fill ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋Œ๋ ค์„œ ๊ฐ ๋‹จ๊ณ„๊ฐ€ ๋๋‚˜๋ฉด ๋ณ‘์‚ฌ์ˆ˜์˜ ์ œ๊ณฑ์„ ๊ฒฐ๊ณผ๊ฐ’์— ์ €์žฅํ•˜๋ฉด ๋.
ํ•˜์ง€๋งŒ ์ด ๋ฌธ์ œ๋Š” ํ•จ์ •์ด ์žˆ์—ˆ์œผ๋‹ˆ..

์ •๋ฐฉ์€ ์ž˜ ๋‚˜์˜ต๋‹ˆ๋‹ค.
...?๋จผ๊ฐ€ ์ด์ƒํ•˜๋„ค์š”

๋ฐ”๋กœ ์ž…๋ ฅ๋ถ€๋ฅผ ์ž˜๋ชป ๋งŒ๋“ค์—ˆ๋‹ค(....)
ํ•ญ์ƒ ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ์—๋Š” ๊ฐ€๋กœ์„ธ๋กœ ์ž…๋ ฅ์„ ์ฃผ์˜ํ• ๊ฒƒ!
์ด๊ฒƒ๋•Œ๋ฌธ์— ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋ฌด์Šจ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ํ•œ์ฐธ ํ•ด๋งธ๋‹ค. ๊ทธ๋ƒฅ ์ž…๋ ฅ๋งŒ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋๋˜ ๊ฐ„๋‹จํ•œ ์‹ค์ˆ˜๊ฐ€ ๋ช‡์‹œ๊ฐ„์„ ์žก์•„๋จน์—ˆ๋Š”์ง€..

#include <iostream>
#include <stdio.h>

using namespace std;


int N, M, resultW = 0, resultB = 0;

char map[101][101] = { 0, };

bool visited01[101][101] = { 0, };
bool visited02[101][101] = { 0, };


int DFSW(int x, int y) {
    if (x<0 && x>N && y<0 && y>M && map[x][y] == 'B')
        return 0;

    if (map[x][y] == 'W' && visited01[x][y] == false) {
        visited01[x][y] = true;
        return DFSW(x + 1, y) + DFSW(x - 1, y) + DFSW(x, y + 1) + DFSW(x, y - 1) + 1;
    }

    return 0;

}
int DFSB(int x, int y) {
    if (x<0 && x>N && y<0 && y>M && map[x][y] == 'W')
        return 0;

    if (map[x][y] == 'B' && visited02[x][y] == false) {
        visited02[x][y] = true;
        return DFSB(x + 1, y) + DFSB(x - 1, y) + DFSB(x, y + 1) + DFSB(x, y - 1) + 1;
    }

    return 0;

}

int main() {

    cin >> N >> M;

    cin.ignore();

    for (int i = 0; i < M; i++) {
        for (int j = 0; j < N; j++) {
            char tmp = '0';
            scanf("%c", &tmp);
            map[i][j] = tmp;
        }
        cin.ignore();
    }



    for (int i = 0; i < M; i++) {
        for (int j = 0; j < N; j++) {
            if (!visited01[i][j]) {
                int tmp01 = DFSW(i, j);

                tmp01 = tmp01 * tmp01;

                resultW += tmp01;

            }
            if (!visited02[i][j]) {
                int tmp02 = DFSB(i, j);
                tmp02 = tmp02 * tmp02;
                resultB += tmp02;
            }
        }
    }


    cout << resultW << ' ' << resultB << endl;

    return 0;
}

ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜๋งŒ ์“ธ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ๊ท€์ฐฎ์•„์„œ ๊ทธ๋ƒฅ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค. ํ—คํ—ค

์„ฑ๊ณต!

 

#3 ๋ฐฑ์ค€ 2178๋ฒˆ ๋ฏธ๋กœ ํƒ์ƒ‰

ํƒ์ƒ‰์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ œ!
์›ํŠธ๋กœ ํด๋ฆฌ์–ดํ–ˆ๊ธฐ๋•Œ๋ฌธ์— ํ’€๊ณ ๋‚˜์„œ ๊ธฐ๋ถ„์ด ์ •๋ง ์ข‹์•˜๋‹ค ใ…Žใ…Žใ…Ž
ํƒ์ƒ‰์—์„œ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋Š” ์ฃผ๋กœ BFS๋ฅผ ์ด์šฉํ•˜๋ฉด ํŽธํ•˜๋‹ค.
DFS์˜ ์žฌ๊ท€๊ตฌ์กฐ๋Š” ์ด๋Ÿฐ ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๋„ ์ž…๋ ฅ์ด ์ปค์ง€๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์—, ์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ• ์ˆ˜ ์žˆ๋‹ค.

int BFS(int x, int y) {

	queue<pair<int, int>> q;

	q.push(pair<int, int>(x, y));

	while (!q.empty()) {
		x = q.front().first;
		y = q.front().second;
		if (x == N - 1 && y == M - 1) break;
		q.pop();

		visited[x][y] = true;

		for (int i = 0; i < 4; i++) {
			if (maze[x + dx[i]][y + dy[i]] !=0 //์ตœ๋‹จ๊ฑฐ๋ฆฌ๊ฐ€ ์ด๋ฏธ ๊ตฌํ•ด์ง„ ์นธ์ด๊ฑฐ๋‚˜
				&& x + dx[i] >= 0		//๋ฏธ๋กœ๋ฅผ ๋„˜์–ด์„œ๋Š” ์นธ์ด๊ฑฐ๋‚˜
				&& x + dx[i] < N
				&& y + dy[i] >=0
				&& y + dy[i] < M
				&&!visited[x + dx[i]][y + dy[i]]) { //์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ ์นธ์ด๊ฑฐ๋‚˜
				q.push(pair<int, int>(x + dx[i], y + dy[i]));
				visited[x + dx[i]][y + dy[i]] = true;
				maze[x + dx[i]][y + dy[i]] = maze[x][y] + 1;
			}
		}
	}

	return maze[N - 1][M - 1];
}

์ขŒํ‘œ๋ฅผ ์ด์šฉํ•ด์„œ ํ‘ธ๋Š” ๋ฌธ์ œ๋Š” c++์—์„œ ์ œ๊ณตํ•˜๋Š” utilty ํ—ค๋”์˜ pair์™€ queue๋ฅผ ์„ž์–ด ์‚ฌ์šฉํ•˜๋ฉด ํ’€๊ธฐ ์šฉ์ดํ•˜๋‹ค.
pair๋Š” ํ•œ ์Œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๋ฅผ ํ์— ๋„ฃ์–ด์ฃผ๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.
๊ตฌ์ƒ์€ ๊ฐ„๋‹จ. BFS์™€ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์‹ญ์ž๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋ฉฐ ๋ฒฝ ๋“ฑ์˜ ์ œํ•œ์ด ๊ฑธ๋ ค์žˆ๋Š” ์นธ์€ ํ์— ๋„ฃ์ง€ ์•Š๋Š” ์‹์ด๋‹ค.
๋ฏธ๋กœ์˜ ์šฐ์ธก ์ตœํ•˜๋‹จ ์นธ์— ์ตœ๋‹จ๊ฑฐ๋ฆฌ๊ฐ€ ๊ตฌํ•ด์ ธ ์žˆ์œผ๋ฏ€๋กœ, ์ตœํ•˜๋‹จ ์นธ์˜ ๊ฐ’์„ ๋ฆฌํ„ด!

ํ—คํ—ค ์›ํŠธ์— ๊นจ๋ฒ„๋ ธ์ง€๋กฑ
์„ฑ๊ณต!

'learnings > PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹คํŠธ ๊ฒŒ์ž„  (0) 2024.04.01
[๋ฐฑ์ค€] 2458 ํ‚ค ์ˆœ์„œ  (0) 2021.08.03
[PS/ํƒ์ƒ‰/BFS/DFS] ์—ฌ๊ธฐ์ €๊ธฐ ์ด๊ณณ์ €๊ณณ ํƒ์ƒ‰ํƒ์ƒ‰  (0) 2021.07.18
[PS/๊ทธ๋ฆฌ๋””/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฒด์œก๋ณต  (0) 2021.07.02
[PS/๊ทธ๋ฆฌ๋””/์ฝ”๋“œ์—…] 3120 : ๋ฆฌ๋ชจ์ปจ  (0) 2021.06.30
'learnings/PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹คํŠธ ๊ฒŒ์ž„
  • [๋ฐฑ์ค€] 2458 ํ‚ค ์ˆœ์„œ
  • [PS/ํƒ์ƒ‰/BFS/DFS] ์—ฌ๊ธฐ์ €๊ธฐ ์ด๊ณณ์ €๊ณณ ํƒ์ƒ‰ํƒ์ƒ‰
  • [PS/๊ทธ๋ฆฌ๋””/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฒด์œก๋ณต
Une.
Une.
์ด์ง„์„ธ์ƒ์† ์ž์œ ๋ฅผ ์ฐพ๋Š” ์‚ฌ๋žŒ์ด ๋‚จ๊ธด ๊ธฐ๋ก
  • Une.
    Une's Dev-log๐Ÿ
    Une.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • \ (35)
      • log (4)
      • mac (2)
      • learnings (28)
        • ํšŒ๊ณ  (0)
        • Swift (10)
        • PS (10)
        • Algorithm&DS (6)
        • c++ (2)
      • CS (1)
        • ๋„คํŠธ์›Œํฌ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๋ฐฉ๋ช…๋ก
    • ๊ด€๋ฆฌ์ž
    • ๊ธ€์“ฐ๊ธฐ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์Šคํƒ
    ์ž๋ฃŒ๊ตฌ์กฐ
    BFS
    ํ† ์ดํ”„๋กœ์ ํŠธ
    wwdc25
    ์ฐจ๋Ÿ‰๊ธฐ์ง€์•Œ๊ณ ๋ฆฌ์ฆ˜
    ๋งฅ
    swift 6.2
    ์ฝ”๋“œ์—…
    ํ™˜ํ˜•๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ
    swift
    C++
    ๋ฐฑ์ค€
    ๊ฐ•ํ•œ์ฐธ์กฐ
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    PS
    DFS
    ios
    ๊ทธ๋ฆฌ๋””
    ๋”๋ธ”๋ฆฌ๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
Une.
[PS/ํƒ์ƒ‰/BFS/DFS] ์—ฌ๊ธฐ์ €๊ธฐ ์ด๊ณณ์ €๊ณณ ํƒ์ƒ‰ํƒ์ƒ‰ 2
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”