Notice
Recent Posts
Recent Comments
Link
HwangHub
[백준 / python] #11880 개미 본문
11880번: 개미
승현이는 방학을 맞아 심심하지만, 공부는 하기 싫습니다. 이렇게 방 안에서 하루하루 시간을 낭비하던 중, 승현이는 자신의 직육면체 모양의 지우개에 개미 한 마리가 붙어 있다는 것을 알게
www.acmicpc.net
문제 풀이
육면체를 펼쳐서 피타고라스 정리를 이용하여 대각선의 제곱을 구하는 문제이다. 경우의 수는 3가지가 가능하다.
처음에는 그냥 냅다 모든 경우를 ans1, ans2, ans3 변수를 할당하여, 이 중에서 가장 작은 값을 구하는 문제라고 생각했는데, 이 방식보다 더 효율적으로 풀어낼 수 없을까 고민하다가 순열조합을 적용해보자 생각했다. 로직상 숫자가 변수에 할당되는 순서에 따라 값이 달라지므로 순열이 적합할 것이다.
제출 코드
from itertools import permutations as pm
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
arr = list(map(int, input().split()))
ans = list()
for a, b, c in pm(arr, 3):
res = a ** 2 + (b + c) ** 2
ans.append(res)
print(min(ans))
느낀 점
항상 냅다 접근하지 말고, 문제를 보면서 종이에 필기해보며 파악하는 시간이 필요할 것 같다. 이를 통해 해당 문제에 적용할 수 있는 더 적합한 알고리즘이 무엇일지 판단할 수 있을 것으로 보인다.
'workspace > 알고리즘' 카테고리의 다른 글
[백준 / python] #17608. 막대기 (0) | 2023.02.19 |
---|---|
[백준 / python] #12789: 도키도키 간식드리미 (0) | 2023.02.12 |
[백준/python] #2309 일곱 난쟁이 (0) | 2023.02.12 |
[백준 / python] # 15652 N과 M(4) (0) | 2023.02.08 |
[백준 / Python] #1718. 암호 (0) | 2023.02.07 |
Comments