일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 당신이 몰랐던 진화론
- python
- ADsP
- 알고리즘
- 빅데이터
- 공부정리
- 조지프 나이
- 자료구조
- K-MOOC
- 백준
- Great Minds
- MySQL
- 코테
- 맛집
- 데이터분석전문가가이드
- EBS
- Progate
- 미분적분학
- KMOOC
- Baekjoon
- Hacker Rank
- 정치학
- Joseph Samuel Nye Jr.
- CNN10
- 후기
- 데이터분석전문가
- Udemy
- ADP
- 누가 진정한 리더인가
- 위대한 수업
Archives
- Today
- Total
ㅇ
[BAEKJOON] 10단계_기하: 직사각형과 삼각형 본문
julia319 정보
시도했지만 맞지 못한 문제
www.acmicpc.net
3009번 네 번째 점
리스트 method를 사용하기 편하려면 X좌표와 Y좌표를 따로 저장해 사용하는것이 훨씬 편했다. 예를 들면 x좌표들 중 갯수가 1개인 것을 확인한다던가 등이 있다.
# x좌표 y좌표를 따로 저장한다.
X = []
Y = []
for _ in range(3):
x, y = map(int, input().split())
X.append(x)
Y.append(y)
for i in range(3):
# x좌표들 중 갯수가 1개인 요소가 다음 x좌표
if X.count(X[i]) == 1:
ansX = X[i]
# y좌표들 중 갯수가 1개인 요소가 다음 y좌표
if Y.count(Y[i]) == 1:
ansY = Y[i]
print(ansX, ansY)
9063번 대지
점이 여러 개 있을 때, 모든 점을 아우르는 직사각형을 만들기 위해서는 모든 점들 중 가장 작은 x, y와 가장 큰 x, y를 대각선으로 하는 직사각형을 그리면 된다.
N = int(input())
X = []
Y = []
for _ in range(N):
x, y = map(int, input().split())
X.append(x)
Y.append(y)
# 주어진 좌표들 중 가장 작은 x와 y 좌표값을 하나의 점으로
x1 = min(X)
y1 = min(Y)
# 주어진 좌표들 중 가장 큰 x와 y 좌표값을 하나의 점으로
x2 = max(X)
y2 = max(Y)
ans = (y2 - y1) * (x2 -x1)
print(ans)
14215번 세 막대
선 세개가 있을 경우, 가장 큰 선이 나머지 두 선의 합보다 작으면 삼각형이 만들어진다. 세 선의 합에서 선들 중 가장 큰 것을 빼면 나머지 두 선의 합이 된다.
a, b, c = map(int, input().split())
# 가장 긴 선
Max = max(a, b, c)
# 전체 합에서 가장 긴 선을 뺀 값
# = 짧은 두 선을 더한 값
Sumof2 = a + b + c - Max
if Max < Sumof2:
ans = a + b + c
else:
# 짧은 두 선의 합보다 가장 큰 선이 작아야하므로
# Sumof2 + (Sumof2 - 1)
# ^ 원래 길이에서 저만큼으로 줄여서 사용해야 함
ans = Sumof2 * 2 - 1
print(ans)
반응형
'IT > 코테문제' 카테고리의 다른 글
[BAEKJOON] 12단계_브루트 포스 (0) | 2023.11.02 |
---|---|
[BAEKJOON] 11단계_시간 복잡도 (1) | 2023.11.01 |
[BAEKJOON] 9단계_약수, 배수와 소수 (0) | 2023.10.30 |
[BAEKJOON] 8단계_일반 수학1 (0) | 2023.10.27 |
[BAEKJOON] 7단계_ 2차원 배열 (1) | 2023.10.26 |
Comments