glowing713
Frontend-Deep-Dive
glowing713
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (97)
    • Languages (11)
      • JavaScript ๐Ÿ’› (3)
      • Python ๐Ÿ (4)
      • Java โ˜•๏ธ (3)
      • Swift ๐Ÿงก (1)
    • Computer_Science (1)
      • Computer_Network ๐Ÿ•ธ (1)
    • Web_Frontend (4)
      • Vue.js (1)
    • Problem_Solving (76)
    • Server (1)
      • Spring ๐Ÿ€ (1)
    • AI (2)
      • NLP ๐Ÿ—ฃ (1)
      • AI_Math โž— (1)
    • ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊พธ๋ฏธ๊ธฐ โœŒ (1)
    • ์ƒ๊ฐ์ •๋ฆฌ โœ๐Ÿป (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿง‘๐Ÿปโ€๐Ÿ’ปGithub

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

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • bfs
  • Baekjoon
  • brute-force
  • Algorithm
  • binary search
  • DP
  • Python
  • ์ด๋ถ„ํƒ์ƒ‰
  • BOJ
  • Stack
  • ๋™์ ๊ณ„ํš๋ฒ•
  • boostcampaitech
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ps
  • mst
  • ์™„์ „ํƒ์ƒ‰
  • 2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ
  • Java
  • ์นด์นด์˜ค ๊ธฐ์ถœ
  • c++

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
glowing713

Frontend-Deep-Dive

[BOJ] ๋ฐฑ์ค€ 2667 ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ / BFS, DFS
Problem_Solving

[BOJ] ๋ฐฑ์ค€ 2667 ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ / BFS, DFS

2021. 1. 4. 22:38

์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ฌธ์ œ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ญ ํ’€์ด ๊ณผ์ •

 

 

ํƒ์ƒ‰ ๋ฌธ์ œ๋กœ์„œ BFS์™€ DFS ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ์ด๋‹ค.

 

N์˜ ํฌ๊ธฐ๊ฐ€ ์ตœ๋Œ€ 25๋กœ ๋งค์šฐ ์ž‘๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ n2์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ชจ๋“  ๊ณต๊ฐ„์„ ํƒ์ƒ‰ํ•˜๋ฉฐ ์ง‘์ด ์žˆ๋Š” ๊ณต๊ฐ„์ธ 1์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ๊ทธ ์ง€์ ์—์„œ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•œ๋‹ค.

 

ํƒ์ƒ‰์„ ๋งˆ์น˜๊ณ  ๊ตฌํ•ด์ง„ ํฌ๊ธฐ(๋‹จ์ง€ ํฌ๊ธฐ)๋ฅผ ๋ฆฌ์ŠคํŠธ์— appendํ•œ๋‹ค.

 

๋ชจ๋“  ์—ฐ์‚ฐ์ด ๋งˆ์น˜๋ฉด ๋ฆฌ์ŠคํŠธ์—๋Š” ๋‹จ์ง€๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ์ €์žฅ๋œ๋‹ค.

 

๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๊ฐ€ ๋‹จ์ง€ ์ˆ˜๊ฐ€ ๋˜๊ณ ,

๋ฆฌ์ŠคํŠธ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜์—ฌ ์›์†Œ๋“ค์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋งˆ์นœ๋‹ค.

 

 

 

์ž‘์„ฑ์–ธ์–ด: Python

 

 

BFS

from sys import stdin
from collections import deque

n = int(stdin.readline().rstrip())
square = [list(map(int, list(stdin.readline().rstrip()))) for _ in range(n)]
queue = deque()
villages = []
# ์ขŒ ์šฐ ์ƒ ํ•˜
mx = [0, 0, -1, 1]
my = [-1, 1, 0, 0]

for i in range(n):
    for j in range(n):
        if square[i][j] == 1:
            # ํƒ์ƒ‰ ์ค‘ 1์„ ์ฐพ์œผ๋ฉด ๊ฑฐ๊ธฐ์„œ bfs ์‹œ์ž‘
            queue.append((i, j))
            square[i][j] = 2  # ์‹œ์ž‘์  ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
            village_size = 1
            while queue:
                x, y = queue.popleft()

                for k in range(4):
                    nx = x + mx[k]
                    ny = y + my[k]
                    if 0 <= nx < n and 0 <= ny < n:
                        if square[nx][ny] == 1:
                            queue.append((nx, ny))
                            square[nx][ny] = 2  # ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
                            village_size += 1

            villages.append(village_size)
print(len(villages))
villages.sort()
for size in villages:
    print(size)

 

 

DFS

from sys import stdin

n = int(stdin.readline().rstrip())
maps = [list(map(int, list(stdin.readline().rstrip()))) for _ in range(n)]
size = 0


def dfs(x, y):
    # ์ƒ ํ•˜ ์ขŒ ์šฐ
    mx = [-1, 1, 0, 0]
    my = [0, 0, -1, 1]
    global size, maps, n
    maps[x][y] = 2    # ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
    size += 1
    for k in range(4):
        nx = x + mx[k]
        ny = y + my[k]
        if 0 <= nx < n and 0 <= ny < n:
            if maps[nx][ny] == 1:
                dfs(nx, ny)


if __name__ == "__main__":
    villages = []
    for i in range(n):
        for j in range(n):
            if maps[i][j] == 1:
                dfs(i, j)
                villages.append(size)
                size = 0

    villages.sort()
    print(len(villages))
    for num in villages:
        print(num)
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

[BOJ] ๋ฐฑ์ค€ 7569 ํ† ๋งˆํ†  / BFS  (0) 2021.01.05
[BOJ] ๋ฐฑ์ค€ 2644 ์ดŒ์ˆ˜๊ณ„์‚ฐ / BFS, DFS  (0) 2021.01.05
[BOJ] ๋ฐฑ์ค€ 2887 ํ–‰์„ฑ ํ„ฐ๋„ / ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ(MST), ํฌ๋ฃจ์Šค์นผ  (0) 2020.11.21
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ / ์ตœ๋‹จ ๊ฒฝ๋กœ, ๋‹ค์ต์ŠคํŠธ๋ผ  (0) 2020.11.21
[BOJ] ๋ฐฑ์ค€ 1647 ๋„์‹œ ๋ถ„ํ•  ๊ณ„ํš / ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ(MST), ํฌ๋ฃจ์Šค์นผ  (0) 2020.11.20
    'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [BOJ] ๋ฐฑ์ค€ 7569 ํ† ๋งˆํ†  / BFS
    • [BOJ] ๋ฐฑ์ค€ 2644 ์ดŒ์ˆ˜๊ณ„์‚ฐ / BFS, DFS
    • [BOJ] ๋ฐฑ์ค€ 2887 ํ–‰์„ฑ ํ„ฐ๋„ / ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ(MST), ํฌ๋ฃจ์Šค์นผ
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ / ์ตœ๋‹จ ๊ฒฝ๋กœ, ๋‹ค์ต์ŠคํŠธ๋ผ
    glowing713
    glowing713

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