1. 문제
https://www.acmicpc.net/problem/1606
1606번: 침투 계획 세우기
첫째 줄에 멍멍이의 금고의 위치를 나타내는 좌표가 주어진다. 각 수는 0이상 1,000,000이하의 정수이다.
www.acmicpc.net
2. 풀이
import sys
input = sys.stdin.readline
# x, y : 각 좌표
x, y = map(int, input().split())
total = 1
if x > 0 :
for i in range(1, x + 1):
total += (6 * i)
if y < 0:
if abs(y) <= x:
total += y
else:
total -= x
for i in range(x, abs(y)):
total += 4 + (6 * i)
elif y > 0:
total += 1
if y == 1:
pass
else:
for i in range(0, y - 1):
total += 7 + (6 * (x + i))
elif x < 0:
for i in range(1, abs(x) + 1):
total += ((i * 2) - 1) * 3
if y < 0:
for i in range(abs(y)):
total += (4 + ((abs(x) + i) * 6))
elif y > 0:
if y <= abs(x):
total -= y
else:
total += x
for i in range(y - abs(x)):
total += 1 + ((abs(x) + i) * 6)
elif x == 0:
if y < 0:
sum_v = 4
for i in range(abs(y)):
total += (sum_v + (i * 6))
elif y > 0:
sum_v = 1
for i in range(y):
total += (sum_v + (i * 6))
print(total)
3. 후기
- 이 문제는 2일 동안 고민하여 해결한 문제이다.
고민하는 기간이 길어지다보면 다른 사람 코드를 참고해볼까라는 유혹이 많다.
물론 고민만 너무 길어진다면 어느 정도 참고는 필요하겠지만, 혼자 고민해보는 시간만큼 스스로의 개발 실력도 늘어날거라 생각한다.
'알고리즘 공부 > 백준' 카테고리의 다른 글
(Python)백준 코딩테스트 연습 - 분수 합(1735) (0) | 2023.02.23 |
---|---|
(Python)백준 코딩테스트 연습 - 영식이의 손가락(1614) (0) | 2023.02.22 |
(Python)백준 코딩테스트 연습 - 비숍(1560) (0) | 2023.02.19 |
(Python)백준 코딩테스트 연습 - 정사각형(1485) (0) | 2023.02.14 |
(Python)백준 코딩테스트 연습 - 수리공 항승(1449) (0) | 2023.02.13 |