[Baekjoon] 1101. Fly me to the Alpha Centauri

2025. 1. 17. 23:15·코딩테스트/Python
728x90
반응형

🔗 Problem Link

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


❔Thinking

  • x,y 두 좌표가 주어지면, x에서 y로 가는 최소 이동 횟수를 반환한다.
  • 이전에 k번 이동했다면, 다음은 k-1, k, k+1를 이동할 수 있다.
  • y에 도착하는 이동은 1이어야 한다.

💻Solution

def alpha_centauri(x, y):
    distance = y - x
    move = 0
    step = 1
    total_moved = 0

    while total_moved < distance:
        move += 1
        total_moved += step
        if move % 2 == 0:
            step += 1

    return move

t = int(input())
for _ in range(t):
    x, y = map(int, input().split())
    print(alpha_centauri(x, y))

🗝️keypoint

  1. 최소한으로 이동하기 위해서는 점차 이동 거리를 늘려야 하고, y에 1을 이동하여 도착하기 위해서는 이동 거리를 점차 줄여나가야 한다. (ex - 1, 2, 3, 2, 1)
  2. 같은 거리의 이동이 두 번 반복되고, 가장 큰 이동 거리는 1번 혹은 2번 이다. (ex - 1,2,2,1)
저작자표시 (새창열림)

'코딩테스트 > Python' 카테고리의 다른 글

[Baekjoon] 2493. 탑  (0) 2025.01.20
[Programmers] Level 2. 요격 시스템  (0) 2025.01.18
[Programmers] Level 2. 과제 진행하기  (0) 2025.01.16
[Beakjoon] 9663. N-Queen  (0) 2025.01.16
[Programmers] Level 2. 광물 캐기  (0) 2025.01.11
'코딩테스트/Python' 카테고리의 다른 글
  • [Baekjoon] 2493. 탑
  • [Programmers] Level 2. 요격 시스템
  • [Programmers] Level 2. 과제 진행하기
  • [Beakjoon] 9663. N-Queen
swwho
swwho
일상을 데이터화하다
  • swwho
    하루한장
    swwho
  • 전체
    오늘
    어제
    • 분류 전체보기 (189)
      • ML_DL (40)
        • MUJAKJUNG (무작정 시리즈) (19)
        • 딥러닝 공부하기 (21)
      • 데이터사이언스 (1)
        • EDA (1)
        • 데이터과학을 위한 통계 (0)
      • 데이터엔지니어링 (2)
      • 논문리뷰 (2)
        • Computer Vision (2)
      • Python 활용하기 (12)
      • 코딩테스트 (127)
        • Python (109)
        • MySQL (14)
      • Git (3)
      • MySQL 활용하기 (0)
      • 일상 이야기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
swwho
[Baekjoon] 1101. Fly me to the Alpha Centauri
상단으로

티스토리툴바