본문 바로가기

PS/BOJ : 단계별로 풀어보기

백준 [단계별로 풀어보기]: (10단계) "기하: 직사각형과 삼각형", python

반응형

백준 [단계별로 풀어보기]: (10단계) "기하: 직사각형과 삼각형", python

 

1. 문제번호 및 정답비율

10단계 기하:직사삭형과 삼각형 : 문제번호 및 정답 비율


2. 문제별 필요 지식 및 풀이 포인트


3. 문제별 풀이 코드

#직사각형 27323
a = int(input())
b = int(input())
print(a*b)


#직사각형에서 탈출 1085
x,y,w,h = map(int, input().split()) #(0,0)~(w,h)
print(min(x,y,w-x,h-y)) #최솟값


#네 번째 점 3009
w = []
h = []
for _ in range(3): #5 5 / 5 7 / 7 5
    x, y = map(int, input().split())
    w.append(x)
    h.append(y)

for i in range(3):
    if w.count(w[i]) == 1: #5 5 7중 1개인 것을 출력
        x = w[i]
    if h.count(h[i]) == 1:
        y = h[i]
print(x,y) # 7 7


#수학은 체육과목 입니다 15894
'''
2n-1
1  4
3  3+1+2+2 = 8
5  3+1+2+1+2+3 = 12
7  3+1+2+1+2+1+2+4 = 16
'''

n = int(input()) #정사각형 개수
l = (2*n-1)*2 + 2
print(l) #정사각형 둘레길이


# 대지 9063
n = int(input()) #3
w = []
h = []
for _ in range(n):
    x, y = map(int, input().split()) #20 24 / 40 21 / 10 12
    w.append(x)
    h.append(y)
w.sort() #오름차순정렬
h.sort()
print((w[-1] - w[0]) * (h[-1] - h[0])) #x,y값 최대-최소 길이 구해 곱하기


#삼각형 외우기 10101
a = [int(input()) for _ in range(3)]

if a[0]+a[1]+a[2] == 180:
    if a[0] == a[1] == a[2]:
        print('Equilateral')
    else:
        if a[0] == a[1] or a[1] == a[2] or a[2] == a[0]:
            print('Isosceles')
        elif a[0] != a[1] and a[1] != a[2]:
            print('Scalene')
else:
    print('Error')


#삼각형과 세 변 5073
while True:
    x,y,z = map(int, input().split()) #7 7 7 / 6 5 4 / 3 2 5 / 6 2 6 / 0 0 0
    if x == y == z == 0:
        break
        
    if sum((x,y,z)) <= 2*max(x,y,z): #TypeError: sum() takes at most 2 arguments (3 given) / sum(iterable, start)이므로 sum((1,2,3)) 괄호 2번 감싸야
        print('Invalid')
    else:


#세 막대 14215
a,b,c = map(int, input().split())
if sum((a,b,c)) <= 2*max(a,b,c): #두 변의 합이 작으면
    print(2*(sum((a,b,c))-max(a,b,c))-1)
else:
    print(sum((a,b,c,)))
        if x == y == z:
            print('Equilateral')
        elif x == y or y == z or z == x:
            print('Isosceles')
        else:
            print('Scalene')
반응형