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

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

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

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

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

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

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

Frontend-Deep-Dive

[BOJ] ๋ฐฑ์ค€ 9205 ๋งฅ์ฃผ ๋งˆ์‹œ๋ฉด์„œ ๊ฑธ์–ด๊ฐ€๊ธฐ / BFS
Problem_Solving

[BOJ] ๋ฐฑ์ค€ 9205 ๋งฅ์ฃผ ๋งˆ์‹œ๋ฉด์„œ ๊ฑธ์–ด๊ฐ€๊ธฐ / BFS

2021. 2. 8. 14:55

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

 

๐Ÿ’ญ ๋ฌธ์ œ ์ดํ•ด

๋งจํ•ดํŠผ ๊ฑฐ๋ฆฌ๋กœ ๊ณ„์‚ฐํ•ด์„œ 1000๋ฏธํ„ฐ ์ด๋‚ด์— ํŽธ์˜์ ์ด ์žˆ๋‹ค๋ฉด ๋งฅ์ฃผ๋ฅผ 20๋ณ‘์œผ๋กœ ๊ฐฑ์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํŽธ์˜์  ์ขŒํ‘œ ๋˜๋Š” ํŽ˜์Šคํ‹ฐ๋ฒŒ ์ขŒํ‘œ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ํƒ์ƒ‰ํ•ด์„œ 1000๋ฏธํ„ฐ ๋‚ด์— ์žˆ๋‹ค๋ฉด queue์— ๋„ฃ๊ณ ,

๋งŒ์ผ ๊ทธ ์ขŒํ‘œ๊ฐ€ ํŽ˜์Šคํ‹ฐ๋ฒŒ ์ขŒํ‘œ๋ผ๋ฉด ๋„์ฐฉํ–ˆ๋‹ค๋Š” ๊ฒฐ๊ณผ๋กœ "happy"๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.

 

BFS ์—ฐ์‚ฐ์„ ์œ„ํ•œ queue๊ฐ€ ๋น„์–ด์„œ while ๋ฌธ์ด ์ข…๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด,

๊ฐ€์ง„ ๋งฅ์ฃผ 20๋ณ‘์œผ๋กœ๋Š” ๋„๋‹ฌํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋œป์œผ๋กœ "sad"๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ๋œ๋‹ค.

 

 

๊ตฌํ˜„ ์–ธ์–ด: Python

 

import sys
from collections import deque

r = sys.stdin.readline


def distance(n_x, n_y, x, y):
    return abs(n_x - x) + abs(n_y - y)


def solve(n, songdo):
    start_x, start_y = songdo[0]  # ์‹œ์ž‘์  ์ขŒํ‘œ
    dest_x, dest_y = songdo[-1]  # ๋„์ฐฉ์  ์ขŒํ‘œ
    store = songdo[1:]
    queue = deque()
    visited = []

    queue.append([start_x, start_y])  # ์‹œ์ž‘์ ๋ถ€ํ„ฐ ์ถ”๊ฐ€
    while queue:
        now_x, now_y = queue.popleft()

        for coor_list in store:
            if coor_list not in visited:
                if distance(now_x, now_y, coor_list[0], coor_list[1]) <= 1000:
                    # ๊ทธ ์ง€์ ์ด ๋„์ฐฉ์ ์ด๋ผ๋ฉด happy
                    if coor_list[0] == dest_x and coor_list[1] == dest_y:
                        return "happy"
                    visited.append(coor_list)  # ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ list์— ์ถ”๊ฐ€
                    queue.append(coor_list)
    return "sad"


t = int(r())  # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜
for _ in range(t):
    n = int(r())  # ํŽธ์˜์ ์˜ ๊ฐœ์ˆ˜
    songdo = [list(map(int, r().split())) for _ in range(n + 2)]  # ์ขŒํ‘œ ์ž…๋ ฅ
    print(solve(n, songdo))

 

* ๋‚˜๋Š” ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ๋ฆฌ์ŠคํŠธ์— ์ง‘์–ด๋„ฃ์–ด์„œ ๋งค๋ฒˆ ์™„์ „ ํƒ์ƒ‰์„ ํ•ด์•ผํ•œ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐ์—๋Š” ์ง€์žฅ์ด ์—†์ง€๋งŒ, ๋ฐ์ดํ„ฐ ์ˆ˜๊ฐ€ ๋” ๋Š˜์–ด๋‚˜๋ฉด ํšจ์œจ์ ์ด์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.

 

๋‹ค๋ฅธ ํ’€์ด๋ฅผ ์ฐพ์•„๋ณด๋‹ˆ, ์ขŒํ‘œ๋ฅผ ๋ชจ์•„๋†“์€ ๋ฆฌ์ŠคํŠธ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ์— ์ €์žฅํ•ด์„œ ํ‘ผ ๊ฒƒ์„ ๋ณด์•˜๋‹ค.

๊ทธ๋ ‡๊ฒŒ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด ๋ฐฉ๋ฌธ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•  ๋•Œ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ๋” ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค!

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

[BOJ] ๋ฐฑ์ค€ 2805 ๋‚˜๋ฌด ์ž๋ฅด๊ธฐ / ์ด๋ถ„ํƒ์ƒ‰  (0) 2021.02.09
[BOJ] ๋ฐฑ์ค€ 1920 ์ˆ˜ ์ฐพ๊ธฐ / ์ด๋ถ„ํƒ์ƒ‰  (0) 2021.02.09
[BOJ] ๋ฐฑ์ค€ 2573 ๋น™์‚ฐ / BFS  (0) 2021.01.14
[BOJ] ๋ฐฑ์ค€ 2468 ์•ˆ์ „ ์˜์—ญ / BFS  (0) 2021.01.13
[BOJ] ๋ฐฑ์ค€ 5014 ์Šคํƒ€ํŠธ๋งํฌ / BFS  (0) 2021.01.13
    'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [BOJ] ๋ฐฑ์ค€ 2805 ๋‚˜๋ฌด ์ž๋ฅด๊ธฐ / ์ด๋ถ„ํƒ์ƒ‰
    • [BOJ] ๋ฐฑ์ค€ 1920 ์ˆ˜ ์ฐพ๊ธฐ / ์ด๋ถ„ํƒ์ƒ‰
    • [BOJ] ๋ฐฑ์ค€ 2573 ๋น™์‚ฐ / BFS
    • [BOJ] ๋ฐฑ์ค€ 2468 ์•ˆ์ „ ์˜์—ญ / BFS
    glowing713
    glowing713

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