난이도
골드 5
유형
수학
브루트 포스
해시맵
해결
실수형의 값을 이용하지 말고 분수꼴로 넣어주면 해결할 수 있다.
gcd를 이용하여 기약분수 꼴로 해시맵에 저장해 준 뒤 가장 큰 값을 출력해주면 된다.
코드
from sys import stdin
from collections import defaultdict
from math import gcd
input=stdin.readline
def gettilt(x,y):
if x==0:
if y>0:
return '위'
return '아래'
if y==0:
if x>0:
return '오른쪽'
return '왼쪽'
div=gcd(x,y)
return (x//div,y//div)
n=int(input())
arr=[map(int,input().split()) for i in range(n)]
dd=defaultdict(int)
for i in arr:
dd[gettilt(next(i),next(i))]+=1
mx=0
for i in dd:
mx=max(dd[i],mx)
print(mx)
좋은 / 비슷한 문제
'프로그래밍 > 백준' 카테고리의 다른 글
백준 9663 NQueen 파이썬으로 다양하게 풀어보기 (0) | 2024.10.02 |
---|---|
[백준/C++] 10216, 12004 (0) | 2024.05.14 |
백준 1824 - 도미노 (파이썬) (0) | 2022.04.28 |
백준 1806 - 부분합 (파이썬) (0) | 2022.03.30 |
백준 14267 - 회사 문화 1 (파이썬) (0) | 2022.03.29 |