๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ๊ฐ“์ƒ ์ง์žฅ์ธ ๋‚จ๋ฐ”์˜ค
article thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/150370

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

๋ฌธ์ œ ํ•ด๊ฒฐ

year, month, day๋ฅผ ๋ฐ›์•„์™€์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒŒ ์‚ฌ์•Œ์ง ๊นŒ๋‹ค๋กญ๋‹ค.

์ผ๋‹จ ์˜ค๋Š˜ ๋‚ ์งœ๋ฅผ ๋ฐ›์•„์™€์„œ 2023.04.23 -> 20230423 ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ  int๋กœ ํฌ๊ธฐ ๋น„๊ต๋ฅผ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹ ์„ ํƒ 

๊ทธ ๋‹ค์Œ privacies์—์„œ ๋‚ ์งœ, ์•ฝ๊ด€ ๋ฐ›์•„์™€์„œ ์•ฝ๊ด€ ๋‚ ์งœ๋ฅผ month์— ๋”ํ•ด์คฌ๋‹ค. 

๋”ํ•ด์ค€ ๋‹ค์Œ์— 12๊ฐœ์›” ์ผ๋•Œ๋งŒ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐ”๋กœ ๋น„๊ต๋ฅผ ํ•ด์ฃผ์—ˆ๋”๋‹ˆ, '0' ์ด ๋ฌธ์ œ๊ฐ€ ๋˜์„œ ํ•œ ์ž๋ฆฌ์ผ ๋•Œ 0์„ ๋”ํ•ด์ฃผ๊ณ ,, ๋น„๊ตํ•ด์ค€ ๋‹ค์Œ์— ๊ฒฐ๊ณผ ์ถœ๋ ฅ 

์ฝ”๋“œ

def solution(today, terms, privacies):
    terms_dict = {}
    for term in terms:
        alphabet, month = term.split()
        terms_dict[alphabet] = int(month)
    
    y,m,d = today.split('.')
    today = int(str(y)+str(m)+str(d))
    
    answer = [] 
    for idx in range(len(privacies)):
        privacy,alpha = privacies[idx].split() 
        year,month,day = map(int,privacy.split('.')) 
        month += terms_dict[alpha] 

        if month % 12 == 0:
            year += (month // 12) - 1
            month = 12
        else:
            year += month // 12
            month = month % 12

        year,month,day = str(year),str(month),str(day)
        if len(month) == 1:
            month = '0' + month
        if len(day) == 1:
            day = '0' + day

        if today >= int(year + month + day):
            answer.append(idx+1)
    return answer
profile

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ๊ฐ“์ƒ ์ง์žฅ์ธ ๋‚จ๋ฐ”์˜ค

@๋‚จ๋ฐ”์˜ค