deo2kim
๋งž์™œํ‹€
deo2kim
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • ๊ฐœ๋ฐœ
    • Infra

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

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

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

์ธ๊ธฐ ๊ธ€

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

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
deo2kim

๋งž์™œํ‹€

[python] ๋ฐฑ์ค€ - 1011. Fly me to the Alpha Centauri
Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 1011. Fly me to the Alpha Centauri

2020. 9. 26. 08:10
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

S1 | ์ˆ˜ํ•™

 

DFS๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ–ˆ์œผ๋‚˜ ์—ญ์‹œ ์‹œ๊ฐ„์ดˆ๊ณผ๋กœ ์‹คํŒจํ–ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ˆ˜ํ•™์ด๋‹ค๋ณด๋‹ˆ ์—ญ์‹œ ์†์œผ๋กœ ์ง์ ‘ ํŒจํ„ด์„ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค.

ํŒจํ„ด์„ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋…ธ๋ž€์ƒ‰์œผ๋กœ ์น ํ•œ ๊ณณ์„ ๋ณด๋ฉด ๋ญ”๊ฐ€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

.

.

.

.

๊ฑฐ๋ฆฌ์˜ ์ œ๊ณฑ๊ทผ์€ ํ™€์ˆ˜ ํšŸ์ˆ˜๊ฐ€ ๋๋‚˜๋Š” ์ง€์ .

4: 2*2-1 = 3

9: 3*2-1 = 5

16: 4*2-1 = 7

25: 5*2-1 = 9

 

๊ทธ๋ ‡๋‹ค๋ฉด ์ œ๊ณฑ๊ทผ์ด ์•„๋‹Œ ์ˆซ์ž๋Š” ์–ด๋–ป๊ฒŒ ์ฐพ์„๊นŒ? ํŒŒ๋ž€์ƒ‰์„ ๋ณด์ž.

.

.

.

.

๊ฑฐ๋ฆฌ์˜ ์ œ๊ณฑ๊ทผ๋งŒํผ ๋‹ค์Œ ์ˆซ์ž๊ฐ€ ์žˆ๋‹ค.

 

  • EX

์˜ˆ๋ฅผ ๋“ค์–ด ๊ฑฐ๋ฆฌ๊ฐ€ 7์ด๋‹ค.

์ œ๊ณฑ๊ทผ์€: 2.xxxx ์ด๋ฏ€๋กœ 2์ด๋‹ค. 2๋ฅผ ์ œ๊ณฑํ•˜๋ฉด 4 ์šฐ๋ฆฌ๋Š” 4๋ถ€ํ„ฐ ๋ณด๋ฉด๋œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉฐ ๋‚˜๋จธ์ง€๋Š” ๊ฑฐ๋ฆฌ 7์—์„œ 4๋ฅผ ๋นผ๋ฉด๋œ๋‹ค. 

์นด์šดํŠธ๋Š” 2*2-1 ์ด๋ฏ€๋กœ 3

์ œ๊ณฑ๊ทผ์€2, ์‹œ์ž‘์€4, ๋‚˜๋จธ์ง€๋Š”3, ์นด์šดํŠธ๋Š”3 | ์ด๋ ‡๊ฒŒ 4๊ฐ€์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์กฐ๊ฑด์„ ๊ฑธ๋Ÿฌ์ค€๋‹ค.

 

์—ฌ๊ธฐ์„œ 3๊ฐ€์ง€ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค.

  1. ๋‚˜๋จธ์ง€๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ
  2. ๋‚˜๋จธ์ง€๊ฐ€ ์ œ๊ณฑ๊ทผ๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ
  3. ๋‚˜๋จธ์ง€๊ฐ€ ์ œ๊ณฑ๊ทผ๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ

1์˜ ๊ฒฝ์šฐ ํ‘œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์นด์šดํŠธ ๊ทธ๋Œ€๋กœ ๋‹ต์ด๋‹ค.

2์˜ ๊ฒฝ์šฐ ์นด์šดํŠธ์— 1์„ ๋”ํ•œ ๊ฐ’์ด ์ œ๊ณฑ๊ทผ์˜ ์ˆ˜๋งŒํผ ์žˆ๋‹ค.
----์—ฌ๊ธฐ์„œ๋Š” ์นด์šดํŠธ+1 = 4, ์ œ๊ณฑ๊ทผ = 2, 4๊ฐ€ 2๊ฐœ ์žˆ๋‹ค. (5์ผ๋•Œ 4, 6์ผ๋•Œ 4)

3์˜ ๊ฒฝ์šฐ ์นด์šดํŠธ์— 1์„ ๋”ํ•œ ๊ฐ’์ด ์ œ๊ณฑ๊ทผ์˜ ์ˆ˜๋งŒํผ ์žˆ๋‹ค.

----์—ฌ๊ธฐ์„œ๋Š” ์นด์šดํŠธ+2 = 5, ์ œ๊ณฑ๊ทผ = 2, 5๊ฐ€ 2๊ฐœ ์žˆ๋‹ค. (7์ผ๋•Œ 5, 8์ผ๋–„ 5) ๐Ÿ’จ9์ผ๋•Œ๋Š” ์ œ๊ณฑ๊ทผ์ด 3์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ์ฒดํฌ X

 

๐Ÿ’จ

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

import math

for tc in range(int(input())):
    x, y = map(int, input().split())
    dist = y - x  # ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ
    my_sqrt = int(math.sqrt(dist))  # ์ œ๊ณฑ๊ทผ
    nmg = dist - my_sqrt ** 2  # ์ œ๊ณฑ๊นŒ์ง€ ๋นผ๊ณ  ๋‚˜๋จธ์ง€
    cnt = my_sqrt * 2 - 1  # ์ œ๊ณฑ๊ทผ ์ผ๋•Œ์˜ ์ด๋™ํšŸ์ˆ˜
    if nmg == 0:
        print(cnt)
    elif nmg <= my_sqrt:
        print(cnt + 1)
    else:
        print(cnt + 2)

 

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: BACKJOON ONLINE JUDGE

๋งํฌ: https://www.acmicpc.net/problem/1011

 

1011๋ฒˆ: Fly me to the Alpha Centauri

์šฐํ˜„์ด๋Š” ์–ด๋ฆฐ ์‹œ์ ˆ, ์ง€๊ตฌ ์™ธ์˜ ๋‹ค๋ฅธ ํ–‰์„ฑ์—์„œ๋„ ์ธ๋ฅ˜๋“ค์ด ์‚ด์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฏธ๋ž˜๊ฐ€ ์˜ค๋ฆฌ๋ผ ๋ฏฟ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฐ€ ์ง€๊ตฌ๋ผ๋Š” ์„ธ์ƒ์— ๋ฐœ์„ ๋‚ด๋ ค ๋†“์€ ์ง€ 23๋…„์ด ์ง€๋‚œ ์ง€๊ธˆ, ์„ธ๊ณ„ ์ตœ์—ฐ์†Œ ASNA ์šฐ์ฃผ ๋น„ํ–‰๏ฟฝ๏ฟฝ

www.acmicpc.net


๋ฌธ์ œ

์šฐํ˜„์ด๋Š” ์–ด๋ฆฐ ์‹œ์ ˆ, ์ง€๊ตฌ ์™ธ์˜ ๋‹ค๋ฅธ ํ–‰์„ฑ์—์„œ๋„ ์ธ๋ฅ˜๋“ค์ด ์‚ด์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฏธ๋ž˜๊ฐ€ ์˜ค๋ฆฌ๋ผ ๋ฏฟ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฐ€ ์ง€๊ตฌ๋ผ๋Š” ์„ธ์ƒ์— ๋ฐœ์„ ๋‚ด๋ ค ๋†“์€ ์ง€ 23๋…„์ด ์ง€๋‚œ ์ง€๊ธˆ, ์„ธ๊ณ„ ์ตœ์—ฐ์†Œ ASNA ์šฐ์ฃผ ๋น„ํ–‰์‚ฌ๊ฐ€ ๋˜์–ด ์ƒˆ๋กœ์šด ์„ธ๊ณ„์— ๋ฐœ์„ ๋‚ด๋ ค ๋†“๋Š” ์˜๊ด‘์˜ ์ˆœ๊ฐ„์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค.

๊ทธ๊ฐ€ ํƒ‘์Šนํ•˜๊ฒŒ ๋  ์šฐ์ฃผ์„ ์€ Alpha Centauri๋ผ๋Š” ์ƒˆ๋กœ์šด ์ธ๋ฅ˜์˜ ๋ณด๊ธˆ์ž๋ฆฌ๋ฅผ ๊ฐœ์ฒ™ํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€๊ทœ๋ชจ ์ƒํ™œ ์œ ์ง€ ์‹œ์Šคํ…œ์„ ํƒ‘์žฌํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ ํฌ๊ธฐ์™€ ์งˆ๋Ÿ‰์ด ์—„์ฒญ๋‚œ ์ด์œ ๋กœ ์ตœ์‹ ๊ธฐ์ˆ ๋ ฅ์„ ์ด ๋™์›ํ•˜์—ฌ ๊ฐœ๋ฐœํ•œ ๊ณต๊ฐ„์ด๋™ ์žฅ์น˜๋ฅผ ํƒ‘์žฌํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ณต๊ฐ„์ด๋™ ์žฅ์น˜๋Š” ์ด๋™ ๊ฑฐ๋ฆฌ๋ฅผ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋Š˜๋ฆด ๊ฒฝ์šฐ ๊ธฐ๊ณ„์— ์‹ฌ๊ฐํ•œ ๊ฒฐํ•จ์ด ๋ฐœ์ƒํ•˜๋Š” ๋‹จ์ ์ด ์žˆ์–ด์„œ, ์ด์ „ ์ž‘๋™์‹œ๊ธฐ์— k๊ด‘๋…„์„ ์ด๋™ํ•˜์˜€์„ ๋•Œ๋Š” k-1 , k ํ˜น์€ k+1 ๊ด‘๋…„๋งŒ์„ ๋‹ค์‹œ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด ์žฅ์น˜๋ฅผ ์ฒ˜์Œ ์ž‘๋™์‹œํ‚ฌ ๊ฒฝ์šฐ -1 , 0 , 1 ๊ด‘๋…„์„ ์ด๋ก ์ƒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ์‚ฌ์‹ค์ƒ ์Œ์ˆ˜ ํ˜น์€ 0 ๊ฑฐ๋ฆฌ๋งŒํผ์˜ ์ด๋™์€ ์˜๋ฏธ๊ฐ€ ์—†์œผ๋ฏ€๋กœ 1 ๊ด‘๋…„์„ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ ๋‹ค์Œ์—๋Š” 0 , 1 , 2 ๊ด‘๋…„์„ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ( ์—ฌ๊ธฐ์„œ ๋‹ค์‹œ 2๊ด‘๋…„์„ ์ด๋™ํ•œ๋‹ค๋ฉด ๋‹ค์Œ ์‹œ๊ธฐ์—” 1, 2, 3 ๊ด‘๋…„์„ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. )

๊น€์šฐํ˜„์€ ๊ณต๊ฐ„์ด๋™ ์žฅ์น˜ ์ž‘๋™์‹œ์˜ ์—๋„ˆ์ง€ ์†Œ๋ชจ๊ฐ€ ํฌ๋‹ค๋Š” ์ ์„ ์ž˜ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— x์ง€์ ์—์„œ y์ง€์ ์„ ํ–ฅํ•ด ์ตœ์†Œํ•œ์˜ ์ž‘๋™ ํšŸ์ˆ˜๋กœ ์ด๋™ํ•˜๋ ค ํ•œ๋‹ค. ํ•˜์ง€๋งŒ y์ง€์ ์— ๋„์ฐฉํ•ด์„œ๋„ ๊ณต๊ฐ„ ์ด๋™์žฅ์น˜์˜ ์•ˆ์ „์„ฑ์„ ์œ„ํ•˜์—ฌ y์ง€์ ์— ๋„์ฐฉํ•˜๊ธฐ ๋ฐ”๋กœ ์ง์ „์˜ ์ด๋™๊ฑฐ๋ฆฌ๋Š” ๋ฐ˜๋“œ์‹œ 1๊ด‘๋…„์œผ๋กœ ํ•˜๋ ค ํ•œ๋‹ค.

๊น€์šฐํ˜„์„ ์œ„ํ•ด x์ง€์ ๋ถ€ํ„ฐ ์ •ํ™•ํžˆ y์ง€์ ์œผ๋กœ ์ด๋™ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ณต๊ฐ„ ์ด๋™ ์žฅ์น˜ ์ž‘๋™ ํšŸ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ.

์ž…๋ ฅ

์ž…๋ ฅ์˜ ์ฒซ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด ํ˜„์žฌ ์œ„์น˜ x ์™€ ๋ชฉํ‘œ ์œ„์น˜ y ๊ฐ€ ์ •์ˆ˜๋กœ ์ฃผ์–ด์ง€๋ฉฐ, x๋Š” ํ•ญ์ƒ y๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค. (0 ≤ x < y < 231)

์ถœ๋ ฅ

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด x์ง€์ ์œผ๋กœ๋ถ€ํ„ฐ y์ง€์ ๊นŒ์ง€ ์ •ํ™•ํžˆ ๋„๋‹ฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ๊ณต๊ฐ„์ด๋™ ์žฅ์น˜ ์ž‘๋™ ํšŒ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

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

'Algorithm Problem > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[python] ๋ฐฑ์ค€ - 1931. ํšŒ์˜์‹ค ๋ฐฐ์ •  (0) 2020.09.29
[python] ๋ฐฑ์ค€ - 1929. ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ  (0) 2020.09.28
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ’์„  ํ„ฐํŠธ๋ฆฌ๊ธฐ(์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ1)  (0) 2020.09.25
[python] ๋ฐฑ์ค€ - 5014. ์Šคํƒ€ํŠธ๋งํฌ  (0) 2020.09.24
[python] ๋ฐฑ์ค€ - 3055. ํƒˆ์ถœ  (0) 2020.09.23
    'Algorithm Problem/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [python] ๋ฐฑ์ค€ - 1931. ํšŒ์˜์‹ค ๋ฐฐ์ •
    • [python] ๋ฐฑ์ค€ - 1929. ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ
    • [python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ’์„  ํ„ฐํŠธ๋ฆฌ๊ธฐ(์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ1)
    • [python] ๋ฐฑ์ค€ - 5014. ์Šคํƒ€ํŠธ๋งํฌ
    deo2kim
    deo2kim
    ์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

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