๊ธฐ๋ก๋ฐฉ

BOJ_1308 : D-Day ๋ณธ๋ฌธ

CodingTest/Python

BOJ_1308 : D-Day

Soom_1n 2022. 8. 24. 01:12

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

1308๋ฒˆ: D-Day

์ฒซ์งธ ์ค„์— ์˜ค๋Š˜์˜ ๋‚ ์งœ๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ๋‘ ๋ฒˆ์งธ ์ค„์— D-Day์ธ ๋‚ ์˜ ๋‚ ์งœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‚ ์งœ๋Š” ์—ฐ๋„, ์›”, ์ผ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง€๋ฉฐ, ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. ์ž…๋ ฅ ๋ฒ”์œ„๋Š” 1๋…„ 1์›” 1์ผ๋ถ€ํ„ฐ 9999๋…„ 12์›” 31์ผ ๊นŒ์ง€ ์ด๋‹ค.

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • d-day๊นŒ์ง€ ๋‚ ์งœ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.
  • ์œค๋…„ ๊ณ„์‚ฐ์— ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

from datetime import datetime

today = list(map(int, input().split()))
dday = list(map(int, input().split()))

today_date = datetime(year=today[0], month=today[1], day=today[2])
dday_date = datetime(year=dday[0], month=dday[1], day=dday[2])
dday_days = (dday_date - today_date).days
year_day_1000 = (datetime(year=today[0]+1000, month=today[1], day=today[2])-today_date).days

if dday_days >= year_day_1000:
    print("gg")
else:
    print(f"D-{dday_days}")

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ๋‚ ์งœ ๊ณ„์‚ฐ์„ ์œ„ํ•ด datetime ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
    • ์‹œ์ž‘๊ณผ ๋ ๋‚ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ datetime์— ๋„ฃ์–ด์„œ ๋ณ€ํ™˜ํ•œ๋‹ค.
    • datetime์˜ ์ฐจ์ด์—์„œ ์ผ ์ •๋ณด๋งŒ ๋ฝ‘๋Š”๋‹ค.
  • 1000๋…„ ์ด์ƒ์˜ ์ฐจ์ด๋ฉด gg๋ฅผ ์ณ์•ผํ•˜๋ฏ€๋กœ 1000๋…„์ด ์ง€๋‚ ๋•Œ ์ผ์ˆ˜๋„ ๊ณ„์‚ฐํ•ด์•ผํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์ผ ์ˆ˜ ๊ณ„์‚ฐ์ด๋ผ๋Š” ์ดˆ์ ์„ ๋ฒ—์–ด๋‚˜์„œ ์œค๋…„๊ณ„์‚ฐ๋งŒ ์‹ ๊ฒฝ์“ฐ๋‹ค๊ฐ€ ์ฝ”๋“œ๊ฐ€ ๊ผฌ์—ฌ์„œ ๋‹ต์•ˆ์„ ๋ณด๊ฒŒ ๋œ ๋ฌธ์ œ๋‹ค. ( ๋‹ต์•ˆ ํฌ์ŠคํŒ… )
  • datetime์˜ ์ฐจ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์œค๋…„์„ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๊ณ ๋„ ์ž๋™์œผ๋กœ ๊ณ„์‚ฐํ•ด์ฃผ๋Š”๊ฒŒ ํŽธ๋ฆฌํ•œ ๊ฒƒ ๊ฐ™๋‹ค.
  • ์œค๋…„ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•์„ ์ฝ”๋“œ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฑธ ๋‹ค์‹œ ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค.

728x90