[BOJ]๋ฐฑ์ค€#16953 Silver 1 AโžกB ๐Ÿ”ข (Python, ํŒŒ์ด์ฌ)

์ž„์ค€์„ฑยท2022๋…„ 5์›” 24์ผ
0

๋ฐฑ์ค€ Algorithm

๋ชฉ๋ก ๋ณด๊ธฐ
11/59
post-thumbnail

๋ฐฑ์ค€ 16953๋ฒˆ
https://www.acmicpc.net/problem/16953


๋ฌธ์ œ



ํ›„๊ธฐ

โฐ ํ’€์ด์‹œ๊ฐ„ 20๋ถ„ ++โฐ

2๋ฅผ ๊ณฑํ•˜๋Š” ์—ฐ์‚ฐ๊ณผ, 1์„ ์˜ค๋ฅธ์ชฝ์— ์ถ”๊ฐ€ํ•˜๋Š” ์—ฐ์‚ฐ์„ def()๋กœ ๋งŒ๋“ค์–ด์„œ

๋ชจ๋‘ ํ•œ๋ฒˆ ์”ฉ ํ•ด๋ณด๋ฉด ๋˜์ง€ ์•Š์„๊นŒ? ๋ผ๋Š” ์–ด์ฒ˜๊ตฌ๋‹ˆ ์—†๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋– ์˜ฌ๋ ธ๊ณ 

๊ตฌํ˜„ ์ค‘ ์ด๊ฑด ์ ˆ๋Œ€ ์ •๋‹ต์ผ ๋ฆฌ ์—†๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•˜๊ณ  ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„์™”๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1์—์„œ

2->4->8->81->162 ๊ฐ€ ๋˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ๊ฑฐ๊พธ๋กœ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ

162->81->8->4->2 ์ด๋ ‡๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

์–ด์ฐจํ”ผ ์•ž์—์„œ ๋’ค๋กœ ์—ฐ์‚ฐํ•˜๋‚˜ ๋’ค์—์„œ ์•ž์œผ๋กœ ์—ฐ์‚ฐํ•˜๋‚˜ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋Š” ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๊ฐ‘์ž๊ธฐ ๋ฌธ์ œ๊ฐ€ ์‰ฌ์›Œ์ ธ ๋ฒ„๋ ธ๋‹ค.

๋งŒ์•ฝ 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด 2๋กœ ๋‚˜๋ˆ„๊ณ , 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์•˜์„๋•Œ

10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 1์ด๋ฉด, 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์„ ์ €์žฅํ•œ๋‹ค.

์ด ๋‘๊ฐ€์ง€ ์—ฐ์‚ฐ ๋ชจ๋‘ ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด, -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

๋‚˜์˜ ํ’€์ด

import sys

input = sys.stdin.readline

A,B= map(int,input().split())
result = 1  #๋ฌธ์ œ์—์„œ ์ตœ์ข… ๊ฒฐ๊ณผ์—์„œ 1์„ ๋”ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋ผ๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ 

while B!=A: # ์›ํ•˜๋Š” ๊ฐ’์ด ๋  ๋•Œ๊นŒ์ง€ ์—ฐ์‚ฐํ•œ๋‹ค.

    result +=1

    answer= B 

    if B%10 == 1: #21, 101 ๋“ฑ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 1์ด๋ฉด 

        B//=10  # ๋’ค์— 1์„ ๋ถ™์ด๋Š” ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป 

    elif B%2 ==0: #2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด 

        B//=2 #2๋กœ ๋‚˜๋ˆ„๋Š” ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป 

    if answer == B: #๋งŒ์•ฝ ์œ„์˜ ์–ด๋– ํ•œ ์—ฐ์‚ฐ๋„ ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด 

        print(-1) #-1 ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒ 
        exit()

print(result)
 
profile
์•„๋ฌด๋ตํฌ ์žˆ์ด

0๊ฐœ์˜ ๋Œ“๊ธ€