๋ฌธ์ œ ๋งํฌ

ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋””์— ๋‚ธ ๋ฌธ์ œ์ด๋‹ค. ์ˆ˜ํ•™์ ์ธ ์ƒ๊ฐ์ด ๋งŽ์ด ํ•„์š”ํ•  ๊ฒƒ์ด๋ผ ์ƒ๊ฐ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ๊ณ ๋ฅด๊ณ  ์‹ถ์—ˆ๋‹ค.

  • ์„ ํ’๊ธฐ์˜ ๋‚ ๊ฐœ๋Š” ์›์ ์„ ํฌํ•จํ•˜๋ฉฐ ๊ผญ์ง“์ ์ด N๊ฐœ์ธ ๋‹จ์ˆœ๋‹ค๊ฐํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค
  • ์„ ํ’๊ธฐ์˜ ์›์ ์ด (0, 0) ๋ผ๊ณ  ๋‘์—ˆ์„ ๋•Œ ๋‹ค๊ฐํ˜• ๋‚ ๊ฐœ์˜ ๊ฐ ๊ผญ์ง“์ ์„ ์ž…๋ ฅ์œผ๋กœ ์ค€๋‹ค.
  • ์ด๋•Œ, ๋‚ ๊ฐœ์˜ ์ž์ทจ๊ฐ€ ์›์ด ๋˜๋Š” ์ตœ์†Œ ํšŒ์ „ ๊ฐ๋„๋ฅผ ๊ตฌํ•ด ๋ณด์ž. ์„ ํ’๊ธฐ๋Š” ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.

์ ‘๊ทผ

  • ๋‹ค๊ฐํ˜•์˜ ์ ์ด ํ•œ๊ฐœ๋ผ๋ฉด 360๋„๋ฅผ ๋Œ์•„์•ผ ํ•œ๋‹ค. (๋„ํ˜•๋„ ์•„๋‹ˆ๊ณ , ๊ฐ€๋Šฅํ•œ ์ž…๋ ฅ๋˜ํ•œ ์•„๋‹ˆ๊ธด ํ•˜์ง€๋งŒ)
  • ๋‹ค๊ฐํ˜•์˜ ์ ์ด ๋‘๊ฐœ๋ผ๋ฉด?
    • ๊ฐ€์žฅ ๊ธด ์ ์ด ๋ฌด์—‡์ธ์ง€์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค

์—ฌ๊ธฐ์„œ ๋„ํ˜•์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ๊ฐ ๊ผญ์ง“์ ๊ณผ ์›์ ์„ ์ด์–ด์ค€ ๋ชจ์–‘์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋ฌธ์ œ๋Š” ์‰ฌ์›Œ์ง„๋‹ค.

  1. ๊ฐ€์žฅ ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ ์„ ๋ถ„๋“ค์„ ๊ตฌํ•œ๋‹ค.
  2. ๊ทธ ์‚ฌ์ด์˜ ๊ฐ๋“ค์„ ๊ตฌํ•˜์—ฌ ๊ฐ€์žฅ ํฌ๊ธฐ๊ฐ€ ํฐ ๊ฐ์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ฝ”๋“œ

import math
 
n = int(input())
length = -1
angles = []
 
# 12์‹œ ๋ฐฉํ–ฅ์œผ๋กœ๋ถ€ํ„ฐ์˜ ๊ฐ๋„๋ฅผ ๊ตฌํ•œ๋‹ค
def getAngle(y: int, x: int):
    return math.degrees(math.atan2(y, x))
 
for _ in range(n):
    x, y = map(int, input().split())
    tmpLen = y * y + x * x
    if tmpLen > length:
        length = tmpLen
        angles = [getAngle(y, x)]
    elif tmpLen == length:
        angles.append(getAngle(y, x))
 
angles.sort()
# ์‚ฌ์ž‡๊ฐ๋“ค์„ ๊ตฌํ•œ๋‹ค
anglesEach = [
    angles[i] - angles[i-1] 
    if angles[i] - angles[i-1] > 0 
    else angles[i] - angles[i-1] + 360
    for i in range(len(angles))
]
 
print(max(anglesEach))

ํ›„๊ธฐ

  • 0๋„๋ฅผ ๊ณ ๋ คํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. (๋ฌธ์ œ ์กฐ๊ฑด์—์„œ ๊ฑธ๋Ÿฌ์ง„ ์ค„ ์•Œ์•˜๋‹ค๊ฐ€ ํ‹€๋ ธ๋‹ค.)
    • 0๋„์ธ ๊ฒฝ์šฐ๋Š” 360๋„๋ฅผ ํšŒ์ „ํ•ด ์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— 24๋ฒˆ์งธ ์ค„์„ ์กฐ๊ธˆ ์†๋ดค๋‹ค.
  • ๋ถ€๋™์†Œ์ˆ˜์  ์ถœ๋ ฅ์„ ์š”ํ•˜๋Š” ๋ฌธ์ œ๋Š” ์„ ํ˜ธํ•˜์ง€ ์•Š์ง€๋งŒ ์†Œ์ˆซ์  ์•„๋ž˜ 6์ž๋ฆฌ๊นŒ์ง€๋ผ๋ฉด ๋ณ„๋‹ค๋ฅธ ์ฒ˜๋ฆฌ์—†์ด๋„ ๊ฝค ์ •ํ™•ํ•  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๋๋‹ค.
  • ํŒŒ์ด์ฌ math์—๋Š” ์ƒ๊ฐ๋ณด๋‹ค ์นœ์ ˆํ•˜๊ฒŒ ํ•จ์ˆ˜๊ฐ€ ์ œ๊ณต๋˜๋Š”๊ตฌ๋‚˜