본문 바로가기

알고리즘/백준

(45)
[Python] 백준 파이썬 2981 검문 https://www.acmicpc.net/problem/2981 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 처음 풀이(틀림) # 백준 2981 검문 n = int(input()) n_list = [] for _ in range(n): n_list.append(int(input())) m_list = [] m = min(n_list) for _ in range(m-1): n_list_copy = n_list.copy() for j in range(len(n_list)): n_list_copy[j] = n_list[j] ..
[Python] 백준 파이썬 1037 약수 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net # 백준 1037 약수 n = int(input()) list_ = list(map(int, input().split())) print(min(list_) * max(list_)) 실제로 약수가 주어지기 때문에 원래 수를 찾는 건 아주 쉬운 문제입니다. 그냥 약수중에서 제일 작은 수랑 제일 큰 수를 곱하면 되는 문제입니다 ㅋ_ㅋ
[Python] 백준 파이썬 1358 하키 https://www.acmicpc.net/problem/1358 1358번: 하키 첫째 줄에 수 W H X Y P가 주어진다. P는 선수의 수이다. W와 H는 100보다 작거나 같은 자연수이고, H는 짝수이다. X와 Y는 절댓값이 100보다 작거나 같은 정수이다. P는 최대 50인 자연수이다. 둘째 줄부 www.acmicpc.net # 백준 1358 하키 import math w, h, x, y, p = map(int, input().split()) # 반지름, 각 원의 중심 좌표 r = h / 2 c1x, c1y = x, y+r c2x, c2y = x+w, y+r count = 0 # 링크 안에 있는 사람 수 for _ in range(p): px, py = map(int, input().split(..
[Python] 백준 파이썬 1004 어린 왕자 https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net # 백준 1004 어린 왕자 import math t = int(input()) for i in range(t): x1, y1, x2, y2 = map(int,input().split()) n = int(input()) count = 0 for j in range(n): cx, cy, r = map(int, input().split()) d1 = math.sqrt((x1-cx) **..
[Python] 백준 파이썬 1002 터렛 https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net import math t = int(input()) for _ in range(t): x1, y1, r1, x2, y2, r2 = map(int, input().split()) d = math.sqrt((x1-x2)**2 + (y1-y2)**2) if d == 0 and r1 == r2 : # 1 print(-1) elif abs(r1-r2) == d or r1 + r2 == d: # 2 print(1) elif abs(r1-r2) < d < (r1..
[Python] 백준 파이썬 3053 택시 기하학 https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 유클리드 기하학에서의 원의 넓이 : $\pi r^2$ 택시 기하학에서의 원의 넓이 : $ 2 r^2$ # 백준 3053 택시 기하학 import math r = int(input()) euclid = math.pi * (r ** 2) taxi = 2 * (r ** 2) print(euclid) print(taxi)
[Python] 백준 파이썬 2477 참외밭 https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 첫 시도(틀림) # 백준 2477 참외밭 cham_per_1 = int(input()) n_s = [] e_w = [] for _ in range(6): a = list(map(int, input().split())) if a[0] == 3 or a[0] == 4: n_s.append(a) else: e_w.append(a) h = max(n_s, key = lambda x : x[1]) w =..
[Python] 백준 파이썬 4153 직각 삼각형 https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net # 백준 4153 직각삼각형 while True: n_list = list(map(int,input().split())) c = max(n_list) n_list.remove(c) a, b = n_list if a==0 and b==0 and c==0: break if c**2 == a**2 + b**2: print('right') else: print('wrong') 처음에 아무 생각없이 c가 제일 크다고 풀었다..