[프로그래머스] 2016년 (Level 1)

imyo·2020년 10월 7일
0

알고리즘

목록 보기
33/39
post-thumbnail

2016년


풀이과정

  1. 31일까지 있는 달을 day_31 리스트에 저장한다.(1,3,5,7,8,10,12)
  2. 30일까지 있는 달을 day_30 리스트에 저장한다.(4,6,9,11)
  3. 2016년 1월 1일이 금요일이므로 모든 요일을 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU' 순으로 day_of_the_Week 리스트에 저장한다.
  4. 1월 1일부터 며칠이 지났는지 세기 위한 변수 days를 0으로 초기화한다.
  5. 1부터 a-1까지 for문을 돌려 day_31에 해당하는 달이면 days에 31을 더하고 day_30에 해당하는 달이면 days에 30을 더하고 2월이면 days에 29를 더한다.
  6. days에 b를 더한다. day_of_the_Week에서 days를 7로 나눈 나머지에 1을 뺀 인덱스를 가진 값이 답이 된다.

Python Code

def solution(a, b):
    answer = ''
    day_31 = [1,3,5,7,8,10,12]
    day_30 = [4,6,9,11]
    days = 0
    day_of_the_Week = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
    for i in range(1, a):
        if i in day_31:
            days += 31
        elif i in day_30:
            days += 30
        else:
            days += 29
    days += b
    answer = day_of_the_Week[days%7-1]
    return answer
profile
(●⁰౪⁰●)

0개의 댓글