[SWEA] 1247. ์ตœ์  ๊ฒฝ๋กœ/Python - D5

2025. 6. 26. 16:03ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=4&problemLevel=5&contestProbId=AV15OZ4qAPICFAYD&categoryId=AV15OZ4qAPICFAYD&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=PYTHON&select-1=5&pageSize=10&pageIndex=1

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com

โœ๐Ÿปํ’€์ด

์˜ˆ์ œ๋Š” ํšŒ์‚ฌ, ์ง‘, N๋ช…์˜ ๊ณ ๊ฐ ์ขŒํ‘œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ค€๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์šฐ์„  ๋จผ์ € ํšŒ์‚ฌ์™€ ์ง‘์˜ ์ขŒํ‘œ๋ฅผ ๋จผ์ € ๊ตฌํ•ด ์‹œ์ž‘์ ๊ณผ ๋์ ์„ ์ฐพ๋Š”๋‹ค.

์‹œ์ž‘์ ์€ ํšŒ์‚ฌ๋กœ ํ•˜์—ฌ ํšŒ์‚ฌ์™€ ๊ฐ€๊นŒ์šด ๊ณ ๊ฐ์„ ๊ฐ€์ง€์น˜๊ธฐ๋กœ ํ•˜๋ฉด์„œ ์ฐพ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ดํ›„ ๊ฐ ๊ณ ๊ฐ ๊ฐ„์˜ ๊ฐ€๊นŒ์šด ๊ณณ์„ ๊ฐ€์ง€์น˜๊ธฐํ•˜๋ฉด์„œ ์ฐพ๊ณ  ๋งˆ์ง€๋ง‰์— ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฐฉ๋ฌธํ•œ ๊ณ ๊ฐ๊ณผ ์ง‘๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ตœ์†Œ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

def backtracking(visited, pre, cnt, dist):
    global res

    if cnt == N:
        r = abs(home[0]-clients[pre][0]) + abs(home[1]-clients[pre][1])
        res = min(res, dist+r)
        return

    for i in range(N):
        if not visited[i]:
            if cnt == 0:
                r = abs(company[0]-clients[i][0]) + abs(company[1]-clients[i][1])
                visited[i] = True
                backtracking(visited, i, cnt+1, dist+r)
                visited[i] = False
            else:
                visited[i] = True
                r = abs(clients[pre][0]-clients[i][0]) + abs(clients[pre][1]-clients[i][1])
                backtracking(visited, i, cnt+1, dist+r)
                visited[i] = False


test_case = int(input())
for tc in range(1, test_case+1):
    res = 1e9
    N = int(input()) # ๊ณ ๊ฐ ์ˆ˜
    visited = [False] * N

    # ํšŒ์‚ฌ, ์ง‘, ๊ณ ๊ฐ
    coords = list(map(int, input().split()))

    company = coords[:2]
    home = coords[2:4]
    clients = []
    for i in range(4, len(coords), 2):
        clients.append((coords[i], coords[i + 1]))

    backtracking(visited, -1, 0, 0)

    print(f"#{tc} {res}")

๐Ÿ“ํ›„๊ธฐ

์ฒ˜์Œ์—๋Š” ์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ์ธ๊ฐ€ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๊ทธ๋Ÿฌ๋ฉด ์ผ์ผํžˆ ๊ฐ€์ค‘์น˜ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ๋А๊ปด์กŒ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ๋ญ๊ฐ€ ์žˆ์„๊นŒํ•˜๊ณ  ๋ฐ‘์— ๋Œ“๊ธ€๋ณด๋‹ˆ๊นŒ DFS๋ผ๊ณ  ํ•ด์„œ ์ด๊ฑธ DFS๋กœ ์–ด๋–ป๊ฒŒ ํ•˜์ง€ ์—„์ฒญ ๊ณ ๋ฏผํ–ˆ๋‹ค..์ฝ”ํ…Œ ๊ณต๋ถ€๋ฅผ ๋„ˆ๋ฌด ์˜ค๋žœ๋งŒ์— ํ•ด์„œ ๊ทธ๋Ÿฐ์ง€ ์–ด๋ ต๋‹ค...

๊ทธ๋ฆฌ๊ณ  ์—ญ์‹œ ํŒŒ์ด์ฌ ๋ฉ”๋ชจ๋ฆฌ ๋งŽ์ด ์ฐจ์ง€ํ•œ๋‹ค...๊ฒŒ๋‹ค๊ฐ€ ์‚ผ์„ฑ์€ PyPy๋กœ ํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ๋งŽ์ด ์ฐจ์ง€ํ•œ๋‹ค...

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

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

[SWEA] 1218. ๊ด„ํ˜ธ ์ง์ง“๊ธฐ/Python - D4  (0) 2025.07.05
[SWEA] 1226. ๋ฏธ๋กœ1/Python - D4  (0) 2025.07.04
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์Šคํ‚ฌํŠธ๋ฆฌ/Python - Lv.2  (0) 2025.06.23
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฐฉ๋ฌธ ๊ธธ์ด/Python - Lv.2  (1) 2025.06.21
[๋ฐฑ์ค€] 11401. ์ดํ•ญ ๊ณ„์ˆ˜ 3/Python - Gold1  (0) 2025.06.19
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [SWEA] 1218. ๊ด„ํ˜ธ ์ง์ง“๊ธฐ/Python - D4
  • [SWEA] 1226. ๋ฏธ๋กœ1/Python - D4
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์Šคํ‚ฌํŠธ๋ฆฌ/Python - Lv.2
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฐฉ๋ฌธ ๊ธธ์ด/Python - Lv.2
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (171)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (85)
        • Algorithms (77)
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    ์˜ค๋ธ”์™„
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ์ž๋ฐ”
    Linux
    Shell
    docker
    ๋ฐฑ์ค€
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    network
    dfs
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    K8s
    ๋„์ปค
    programmers
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    ๋ฆฌ๋ˆ…์Šค
    ๋„คํŠธ์›Œํฌ
    Baekjoon
    Kubernetes
    Java
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    bfs
    Shell Script
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[SWEA] 1247. ์ตœ์  ๊ฒฝ๋กœ/Python - D5
์ƒ๋‹จ์œผ๋กœ

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