๐ ๋ฌธ์ ์ค๋ช
๊ณ ๊ฐ์ ์ฝ๊ด ๋์๋ฅผ ์ป์ด์ ์์ง๋ 1~n๋ฒ์ผ๋ก ๋ถ๋ฅ๋๋ ๊ฐ์ธ์ ๋ณด n๊ฐ๊ฐ ์์ต๋๋ค. ์ฝ๊ด ์ข
๋ฅ๋ ์ฌ๋ฌ ๊ฐ์ง ์์ผ๋ฉฐ ๊ฐ ์ฝ๊ด๋ง๋ค ๊ฐ์ธ์ ๋ณด ๋ณด๊ด ์ ํจ๊ธฐ๊ฐ์ด ์ ํด์ ธ ์์ต๋๋ค. ๋น์ ์ ๊ฐ ๊ฐ์ธ์ ๋ณด๊ฐ ์ด๋ค ์ฝ๊ด์ผ๋ก ์์ง๋๋์ง ์๊ณ ์์ต๋๋ค. ์์ง๋ ๊ฐ์ธ์ ๋ณด๋ ์ ํจ๊ธฐ๊ฐ ์ ๊น์ง๋ง ๋ณด๊ด ๊ฐ๋ฅํ๋ฉฐ, ์ ํจ๊ธฐ๊ฐ์ด ์ง๋ฌ๋ค๋ฉด ๋ฐ๋์ ํ๊ธฐํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, A๋ผ๋ ์ฝ๊ด์ ์ ํจ๊ธฐ๊ฐ์ด 12 ๋ฌ์ด๊ณ , 2021๋
1์ 5์ผ์ ์์ง๋ ๊ฐ์ธ์ ๋ณด๊ฐ A์ฝ๊ด์ผ๋ก ์์ง๋์๋ค๋ฉด ํด๋น ๊ฐ์ธ์ ๋ณด๋ 2022๋
1์ 4์ผ๊น์ง ๋ณด๊ด ๊ฐ๋ฅํ๋ฉฐ 2022๋
1์ 5์ผ๋ถํฐ ํ๊ธฐํด์ผ ํ ๊ฐ์ธ์ ๋ณด์
๋๋ค.
๋น์ ์ ์ค๋ ๋ ์ง๋ก ํ๊ธฐํด์ผ ํ ๊ฐ์ธ์ ๋ณด ๋ฒํธ๋ค์ ๊ตฌํ๋ ค ํฉ๋๋ค.
๋ชจ๋ ๋ฌ์ 28์ผ๊น์ง ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๐ค ๋ฌธ์ ํ์ด
- month๋ 12์, day๋ 28์ผ๊น์ง์ธ ๊ฒ์ ๊ณ ๋ คํ์ฌ ๊ฐ ์ฝ๊ด ์ข ๋ฅ์ ๋ํด ๋ ์ง๋ฅผ ์ ๋ํด์ค๋ค.
- ์ฐ, ์, ์ผ์ 10์ง์๋ก ๋ฐ๊พธ๋ ํจ์๋ฅผ ๊ตฌํํ์ฌ today์ ์์ง ์ผ์์ ์ฝ๊ด์ ํด๋นํ๋ ๊ธฐ๊ฐ์ ๋ํ ๊ฐ๊ณผ ๋น๊ตํ์ฌ ํ๊ธฐํ ๊ฐ์ธ์ ๋ณด๋ฅผ ์ ๋ณํ๋ค.
๐ ํ์ด ์ฝ๋
def date_to_days(date):
date = list(map(int, date.split('.')))
days = date[0] * 12 * 28 + date[1] * 28 + date[2]
return days
def solution(today, terms, privacies):
result = []
types = {}
for i in terms:
a, b = i.split()
types[a] = b
for i in range(len(privacies)):
date, t = privacies[i].split()
date_list = list(map(int, date.split('.')))
date_list[1] += int(types[t])
if date_list[1] > 12:
date_list[1] -= 12
date_list[0] += 1
date_list[2] -= 1
if date_list[2] < 1:
date_list[2] += 28
date_list[1] -= 1
date_str = f'{date_list[0]:02}.{date_list[1]:02}.{date_list[2]:02}'
if date_to_days(today) > date_to_days(date_str):
result.append(i+1)
return result