250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 손실함수
- 개발환경
- 밑바닥부터 시작하는 딥러닝
- pyenv
- 9020
- 4948
- 티스토리챌린지
- N-Queen
- 기계학습
- 백트래킹
- 파이싼
- Python
- REST API
- Retrieval
- 가상환경
- streamlit
- BOJ
- video retireval
- 파이썬
- 경사하강법
- end to end
- 1002
- n과 m
- 15649
- 신경망 학습
- 백준
- 1101
- 재귀
- 그리디 알고리즘
- 오블완
Archives
- Today
- Total
파이톨치
[백준][python][1011] Fly me to the Alpha Centauri 본문
728x90
<문제>
https://www.acmicpc.net/problem/1011
1011번: Fly me to the Alpha Centauri
우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행
www.acmicpc.net
<어떻게 풀까?>
규칙을 찾기 위해서 일단 거리에 따른 최단 거리를 적어보자.
거리 | 최단 거리로 가는 방법 |
1 | 1 |
2 | 1, 1 |
3 | 1, 1, 1 |
4 | 1, 2, 1 |
5 | 1, 2, 1, 1 |
6 | 1, 2, 2, 1 |
7 | 1, 2, 2, 1, 1 |
8 | 1, 2, 2, 2, 1 |
9 | 1, 2, 3, 2, 1 |
이런식으로 구성이 된다. 이것만 봐도 간단한 규칙을 찾을 수 있다. 아직 못 찾으신 분들은 한 번 생각해보시길 바란다.
이 방법들을 규칙을 보기 쉽게 재구성 해 보게 된다면
거리 | 최단 거리로 가는 방법 |
1 | 1 |
2 | 1, 1 |
4 | 1, 2, 1 |
6 | 1, 2, 2, 1 |
9 | 1, 2, 3, 2, 1 |
12 | 1, 2, 3, 3, 2, 1 |
16 | 1, 2, 3, 4, 3, 2, 1 |
20 | 1, 2, 3, 4, 4, 3, 2, 1 |
이런 식으로 경계가 되는 값들은 대칭을 이루고 있다.
또한 증가하는 값이 2줄씩 일정하다.
즉 이 경계들을 이용해서 코드를 작성해 주면 된다.
<코드>
n = int(input())
for k in range(n):
A, B = map(int, input().split())
distance = B-A
start = 1
way = 1
for i in range(distance):
if start <= distance <= start+ i:
print(way)
break
elif start+i +1 <= distance <= start+ 2*i+1 :
print(way+1)
break
start += 2*(i+1)
way += 2
<코드 설명>
증가하는 범위가 2줄씩 같아서 if 문과 elif문을 사용해서 코드를 작성해 주었다.
start에서 경계가 시작된다. 그 경계를 기준으로 같은 값을 더해준다.
처음에 i를 이용해서 way를 대신하려고 했지만, 거리가 1일 때 값을 처리하기 힘들어서
그냥 way라는 변수를 만들어서 값을 출력해 주었다.
매번 말하지만 이것이 효율적인 코드라고 생각하지 않는다.
더 좋은 코드나 조언이 있다면 답들을 달아주면 좋겠다.
또한 이것을 개량해서 더 좋은 코드를 만들어 봐도 좋을 것이다.
728x90
'알고리즘' 카테고리의 다른 글
[백준][python][4948] 에라토스테네스의 체 (1) | 2021.07.15 |
---|---|
[백준][python][9020] 골드바흐의 추측(시간초과) (0) | 2021.07.14 |
[백준][python][10828] 스택 (0) | 2021.07.09 |
[백준][python][1193] 분수찾기 (0) | 2021.07.07 |
[백준][python][11729] 하노이 탑 이동 순서 (2) | 2021.07.06 |