๐Ÿงฉ Algorithm/[BOJ] Silver

[BOJ] 5635. ์ƒ์ผ (Python/๊ตฌํ˜„/Silver 5)

devCloud 2024. 11. 6. 17:54
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰https://www.acmicpc.net/problem/5635


Solution

sol.1 (date ํ•จ์ˆ˜ ์‚ฌ์šฉ)

from datetime import date

n = int(input())  # ํ•™์ƒ์˜ ์ˆ˜
students = [input().split() for _ in range(n)]

# ์ดˆ๊ธฐํ™”๋œ ์ƒ์ผ ๋ณ€์ˆ˜
youngest_date, oldest_date = date(1990, 1, 1), date(2010, 12, 31)
youngest_name, oldest_name = "", ""

# ํ•™์ƒ๋“ค์˜ ์ƒ์ผ ๋น„๊ต
for name, day, month, year in students:
    birth_date = date(int(year), int(month), int(day))
    if birth_date > youngest_date:
        youngest_date = birth_date
        youngest_name = name
    if birth_date < oldest_date:
        oldest_date = birth_date
        oldest_name = name

print(youngest_name)
print(oldest_name)

 

sol.2 (lambda, sort ํ•จ์ˆ˜ ์‚ฌ์šฉ)

n = int(input())  # ํ•™์ƒ ์ˆ˜
students = []

# ํ•™์ƒ ์ •๋ณด ์ž…๋ ฅ๋ฐ›๊ธฐ
for _ in range(n):
    name, day, month, year = input().split()
    students.append((name, int(year), int(month), int(day)))

# ์ƒ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ: ์—ฐ๋„ -> ์›” -> ์ผ ์ˆœ
students.sort(key=lambda x: (x[1], x[2], x[3]))

# ๊ฐ€์žฅ ๋‚˜์ด๊ฐ€ ์ ์€ ์‚ฌ๋žŒ์€ ๋งˆ์ง€๋ง‰์—, ๋งŽ์€ ์‚ฌ๋žŒ์€ ์ฒ˜์Œ์— ์œ„์น˜
print(students[-1][0])  # ๊ฐ€์žฅ ๋‚˜์ด๊ฐ€ ์ ์€ ์‚ฌ๋žŒ
print(students[0][0])   # ๊ฐ€์žฅ ๋‚˜์ด๊ฐ€ ๋งŽ์€ ์‚ฌ๋žŒ

 

sol.3 (sort ํ•จ์ˆ˜ ์‚ฌ์šฉ)

n = int(input())  # ํ•™์ƒ์˜ ์ˆ˜

result = []
for i in range(n):
    name, day, month, year = input().split()
    day, month, year = map(int, (day, month, year))  # int ํ˜•์œผ๋กœ ๋ณ€ํ™˜

    result.append((year, month, day, name))

result.sort()
print(result[-1][3])
print(result[0][3])
  • list.sort()๋‚˜ sorted()๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ ํŠœํ”Œ์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ๋น„๊ตํ•˜์—ฌ ์ •๋ ฌํ•œ๋‹ค.
  • ์ฆ‰, ๋‹ค์ฐจ์› ์š”์†Œ๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์—์„œ ์ •๋ ฌ ๊ธฐ์ค€์ด ๋ช…์‹œ๋˜์ง€ ์•Š์œผ๋ฉด ํŠœํ”Œ์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ ๋น„๊ตํ•˜๊ณ , ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๊ฐ€ ๋™์ผํ•˜๋ฉด ๋‘ ๋ฒˆ์งธ ์š”์†Œ, ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋„ ๊ฐ™์œผ๋ฉด ์„ธ ๋ฒˆ์งธ ์š”์†Œ… ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ๋น„๊ตํ•˜์—ฌ ์ •๋ ฌํ•œ๋‹ค.

 

728x90