Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 브라이틱스 서포터즈
- 직원 이직률
- Brightics를 이용한 분석
- 캐글
- Brigthics Studio
- 개인 의료비 예측
- 추천시스템
- 데이터분석
- 삼성SDS Brightics
- 노코드AI
- 삼성 SDS
- 혼공머신
- 삼성SDS Brigthics
- 팀 분석
- 포스코 아카데미
- Brightics Studio
- 데이터 분석
- Brightics
- 혼공학습단
- 모델링
- Brigthics
- 포스코 청년
- Brigthics를 이용한 분석
- 직원 이직여부
- 삼성 SDS Brigthics
- 영상제작기
- 삼성SDS
- 혼공머신러닝딥러닝
- 브라이틱스
- 혼공
Archives
- Today
- Total
데이터사이언스 기록기📚
[백준/Python] 10271번(완탐)_고층 건물 본문
📌문제 유형
수학, 브루트포스 알고리즘, 기하학(골드 Lv.4)
📌문제
📌나의 문제풀이
- i는 현재 확인하려는 고층건물, j는 i의 조건에 적합한지 확인하는 고층건물.
- k는 i,j 선분에 고층건물이 있는지 확인
- 방정식으로 선분 만들고, y값 비교
n = int(input())
y = list(map(int,input().split()))
x = [i for i in range(1,n+1)]
coord = list(zip(x,y))
result = []
ans = 0
for i in range(len(coord)):
for j in range(len(coord)):
flag = 0
if i == j:
continue
else:
x1, y1 = coord[i]
x2, y2 = coord[j]
for k in range(min(i,j)+1, max(i,j)):
tmp = ((y2-y1) / (x2-x1)) * (coord[k][0]-x1) + y1
if coord[k][1] >= tmp:
flag = 1
break
if flag == 0:
ans += 1
result.append(ans)
ans = 0
print(max(result))
📌 다른사람의 문제풀이
- 기울기 각도에 따른 비교
- 왼쪽은 이전 값보다 작은 경우 += 1, 오른쪽은 이전 값보다 큰 경우 += 1
import sys
input = sys.stdin.readline
def calc(x1,y1,x2,y2):
return (y2-y1)/(x2-x1)
N = int(input())
building = list(map(int,input().split()))
answer = 0
for idx, b in enumerate(building):
view_max = 0
left_max = float('inf') # 왼쪽의 기울기 최솟값
right_max = -float("inf") # 오른쪽 기울기 최댓값
for i in range(idx-1,-1,-1): # 왼쪽
c = calc(idx+1,b,i+1,building[i])
if c < left_max: # 기울기가 더 작다면
left_max = c
view_max += 1
for i in range(idx+1,N): # 오른쪽
c = calc(idx+1,b,i+1,building[i])
if c > right_max: # 기울기가 더 크다면
right_max = c
view_max += 1
answer = max(answer,view_max)
print(answer)
📌 리뷰
- 수학적으로 접근하는 과정도 필요하다!
728x90
'Coding Test > 백준(Python)' 카테고리의 다른 글
[백준/Python] 2109번(그리디)_순회강연 (0) | 2023.11.13 |
---|---|
[백준/Python] 2141번(그리디)_우체국 (0) | 2023.10.10 |
[백준/Python] 17471번(DFS)_게리맨더링 (0) | 2023.09.26 |
[백준/Python] 1967번(DFS)_트리의 지름 (0) | 2023.09.22 |
[백준/Python] 11559번(BFS)_Puyo Puyo (0) | 2023.09.14 |
Comments