BuNa_
IT Story
BuNa_
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (117)
    • CS (14)
      • ์šด์˜์ฒด์ œ (8)
      • ๋„คํŠธ์›Œํฌ (0)
      • Design Pattern (1)
      • OOP (4)
    • ๋Œ€์™ธํ™œ๋™ (24)
      • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค (14)
      • DND ๋™์•„๋ฆฌ (4)
      • UMC ๋™์•„๋ฆฌ (5)
      • ํ•ด์ปคํ†ค (1)
    • Android (29)
      • MVVM (2)
      • ์Šคํ„ฐ๋”” (11)
      • Compose (3)
      • Unit Test (1)
    • Project (5)
      • ์–ด๋”ฐ์„ธ์›Œ (5)
      • DnD ๊ณผ์™ธ ์„œ๋น„์Šค (0)
    • Programming (11)
      • Kotlin (4)
      • ํŒŒ์ด์ฌ (7)
    • Git (1)
    • ์ธ๊ณต์ง€๋Šฅ (22)
    • ๋ฐฑ์ค€ (8)
    • ๊ธฐํƒ€ (3)
      • IntelliJ (1)
      • ์ผ์ƒ (0)

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

  • ํ™ˆ

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

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Ai
  • Compose
  • k-means++
  • Android
  • ์ธ๊ณต์ง€๋Šฅ ๋ถ„๋ฅ˜
  • ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ํŒŒ์ด์ฌ
  • ์ปด๊ณต์„ ๋ฐฐ
  • ViewModel
  • UMC
  • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
  • ์…€๋ ˆ๋‹ˆ์›€
  • ์™ธ๋ถ€ ๋‹จํŽธํ™”
  • ์šฐํ…Œ์ฝ” ํ”„๋ฆฌ์ฝ”์Šค
  • ์•ˆ๋“œ๋กœ์ด๋“œ
  • External fragmentation
  • ์šฐํ…Œ์ฝ”
  • ๋”ฅ๋Ÿฌ๋‹
  • ์„ ํ˜•ํšŒ๊ท€
  • ์›์‹œ๊ฐ’ ํฌ์žฅ
  • RecyclerView
  • ๋ฐฑ์ค€
  • ์šฐํ…Œ์ฝ” 5๊ธฐ
  • ๊ฐ์ฒด์ง€ํ–ฅ ์ƒํ™œ์ฒด์กฐ
  • ์–ด๋”ฐ์„ธ์›Œ
  • MVVM
  • ์ธ๊ณต์ง€๋Šฅ
  • K-means
  • ์šด์˜์ฒด์ œ
  • Baekjoon

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

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

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

IT Story

[๋ฐฑ์ค€ - Python] 1697๋ฒˆ : ์ˆจ๋ฐ”๊ผญ์งˆ
๋ฐฑ์ค€

[๋ฐฑ์ค€ - Python] 1697๋ฒˆ : ์ˆจ๋ฐ”๊ผญ์งˆ

2022. 9. 27. 10:48

 

 

๐ŸŒฑ   ๋ฌธ์ œ

 

https://www.acmicpc.net/problem/1697

 

1697๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ

์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 ≤ N ≤ 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 ≤ K ≤ 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ

www.acmicpc.net

 

๐Ÿ’ก   ์„ค๋ช…

ํ•ด๋‹น ๋ฌธ์ œ๋Š” BFS(๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰) ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

๋งŒ์•ฝ, BFS๊ฐ€ ์•„๋‹Œ DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋ฌธ์ œ์—์„œ BFS์™€ DFS ์‚ฌ์šฉ์˜ ์ฐจ์ด๋ฅผ ์ƒ๊ฐํ•ด๋ณธ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

DFS๋Š” ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฐฉํ–ฅ์— ๋…ธ๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ๋งค์šฐ ๋น ๋ฅธ ์†๋„๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ์œผ๋‚˜, ๋ฐ˜๋Œ€๋กœ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฐฉํ–ฅ์— ๋…ธ๋“œ๊ฐ€ ์—†๋‹ค๋ฉด ๋งŽ์€ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ํ•ด๋‹น ๋ฌธ์ œ์—์„œ ๋™์ƒ์€ ๋งจ ์•ž(1)์— ์žˆ๋Š”๋ฐ, ๋™์ƒ ๋ณด๋‹ค ํ•œ ์นธ ์•ž์— ์œ„์น˜ํ•œ ํ˜•(2)์ด ์šฐ์„  ํ•œ ์นธ์”ฉ ์•ž์œผ๋กœ ์ด๋™ํ•˜๋ฉฐ ํƒ์ƒ‰ํ•˜๋„๋ก ์„ค๊ณ„ํ–ˆ๋‹ค๋ฉด ๋ฒ”์œ„ ๋‚ด์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ•œ ์นธ์”ฉ๋งŒ ๋’ค๋กœ ์ด๋™ํ•˜์—ฌ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ex. ๋™์ƒ ์œ„์น˜ : 1  /  ํ˜• ์œ„์น˜ : 2

1[๋™์ƒ] / 2[ํ˜• ํƒ์ƒ‰]  ->  (2, 3 ,4 , 5, ... , 99999, 100000)

 

์ฆ‰, ํ•ด๊ฐ€ ์—†๋Š” ๊ฒฝ๋กœ์—์„œ ๊นŠ์ด ๋น ์งˆ ์œ„ํ—˜์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ˜๋ฉด, BFS๋Š” ํ˜„์žฌ ์œ„์น˜์—์„œ ๊ทธ๋ฌผ๋ง์ฒ˜๋Ÿผ -1, +1, x2 ๋งŒํผ ํผ์ ธ๋‚˜๊ฐ€๋ฉฐ ์ตœ์ ์˜ ํ•ด๋ฅผ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ •์ ์ธ ์‹œ๊ฐ„ ๋‚ด์— ์ •๋‹ต์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ตœ์ ์˜ํ•ด๋ฅผ ๋ณด์žฅ๋ฐ›๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” BFS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

โœ๏ธ   ์†Œ์Šค์ฝ”๋“œ

#-*- coding:utf-8 -*-
from collections import deque
import sys

input = sys.stdin.readline
MIS = lambda: map(int, input().rstrip().split())

start, dest = MIS()
res = sys.maxsize


def f(start, dest):
    visited = [False] * 100001
    q = deque([(start, 0)])
    result = sys.maxsize

    while q:
        now, count = q.popleft()
        
        if not (0 <= now <= 100000): continue
        if visited[now]: continue
        visited[now] = True

        if now == dest:
            result = min(result, count)

        q.append((now+1, count+1))
        q.append((now-1, count+1))
        q.append((now*2, count+1))

    return result

print(f(start, dest))

 

 

 

github : https://github.com/tmdgh1592

 

tmdgh1592 - Overview

๋А๋ฆฌ๋”๋ผ๋„ ์ฒœ์ฒœํžˆ..!! ๐Ÿ˜. tmdgh1592 has 21 repositories available. Follow their code on GitHub.

github.com

 

 

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

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

[๋ฐฑ์ค€ - Python] 2579๋ฒˆ : ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ  (1) 2022.09.28
[๋ฐฑ์ค€ - Python] 2839๋ฒˆ : ์„คํƒ• ๋ฐฐ๋‹ฌ  (1) 2022.09.20
[๋ฐฑ์ค€ - Python] 2671๋ฒˆ : ์ž ์ˆ˜ํ•จ์‹๋ณ„  (0) 2022.09.14
[๋ฐฑ์ค€/ํŒŒ์ด์ฌ] 1004๋ฒˆ ๋ฌธ์ œ '์–ด๋ฆฐ ์™•์ž'  (14) 2021.06.11
[๋ฐฑ์ค€/ํŒŒ์ด์ฌ] 1003๋ฒˆ ๋ฌธ์ œ 'ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜'  (16) 2021.06.10
    '๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [๋ฐฑ์ค€ - Python] 2579๋ฒˆ : ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ
    • [๋ฐฑ์ค€ - Python] 2839๋ฒˆ : ์„คํƒ• ๋ฐฐ๋‹ฌ
    • [๋ฐฑ์ค€ - Python] 2671๋ฒˆ : ์ž ์ˆ˜ํ•จ์‹๋ณ„
    • [๋ฐฑ์ค€/ํŒŒ์ด์ฌ] 1004๋ฒˆ ๋ฌธ์ œ '์–ด๋ฆฐ ์™•์ž'
    BuNa_
    BuNa_
    ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ํ–ฅํ•ด ๋‹ฌ๋ฆฌ๊ณ  ์žˆ๋Š” ๊ณต๋Œ€์ƒ์ž…๋‹ˆ๋‹ค! ๐Ÿง‘ Android, Kotlin, Java, Python ๋“ฑ ํ•™์Šตํ•˜๊ณ  ์žˆ๋Š” ๋‚ด์šฉ๊ณผ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฃผ๋กœ ์—…๋กœ๋“œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์ ๊ณผ ์กฐ์–ธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค!๐Ÿ˜Š github : https://github.com/tmdgh1592

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