몽-구
몽구의 우당탕탕 개발 공부
몽-구
전체 방문자
오늘
어제
  • 분류 전체보기 (106)
    • PS (38)
      • 백준 (24)
      • 프로그래머스 (14)
    • Dev (58)
      • Kotlin (0)
      • Java (4)
      • Spring, SpringBoot (1)
      • C (8)
      • Python (10)
      • Dart (1)
      • 알고리즘 (7)
      • 자료구조 (3)
      • Git (1)
      • Linux (2)
      • VS Code (1)
      • 환경 설정 (8)
      • Conference (1)
      • 42Seoul (3)
      • Node.js (1)
      • ShellScript (1)
      • IntelliJ (0)
      • MacOS (2)
      • 기타 (3)
    • CS (1)
      • 데이터베이스 (1)
    • DS (4)
      • Coursera (4)
    • 리뷰 (1)
      • 제품 리뷰 (1)
    • 일상 (3)
      • 자동화 (1)
      • 목표 및 계획 (2)
      • 회고 (0)
    • 삶에 대한 태도 (1)
      • 유튜브를 보며 (1)

블로그 메뉴

  • GitHub

인기 글

반응형

태그

  • 알고리즘
  • BOJ
  • 프로그래머스
  • Algorithm
  • 파이썬
  • 코딩테스트
  • 백준알고리즘
  • 리눅스
  • 정렬
  • Python
  • 백준
  • 백준온라인저지
  • Linux
  • sort
  • c언어

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
몽-구

몽구의 우당탕탕 개발 공부

[프로그래머스][파이썬/Python] 2016년
PS/프로그래머스

[프로그래머스][파이썬/Python] 2016년

2020. 3. 3. 12:30
반응형

문제 설명

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요.

 

제한 조건

  • 2016년은 윤년입니다.
  • 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다.)

 

입출력 예

 

제출 코드

import datetime

def solution(a, b):
    d = datetime.datetime(2016, a, b)
    weekdays = {'Sunday':'SUN', 'Monday':'MON', 'Tuesday':'TUE', 'Wednesday':'WED',
                'Thursday':'THU', 'Friday':'FRI', 'Saturday':'SAT'}
    answer = d.strftime('%A')
    return weekdays.get(answer)

문제를 푸는 데에 중요한 개념은 다음과 같다.

 

1. python 모듈 'datetime'을 활용할 수 있는가?

2. 클래스 datetime의 메서드 strftime를 쓰면 요일이 'Sunday'와 같은 식으로 반환되는데, 그것을 원하는 결과값 'SUN'처럼 바꿀 수 있는가?

 

사실 2번 개념은 리스트를 써서 weekdays = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'] 와 같은 식으로 만들어 두고, if-elif구문을 무식하게 이용해도 된다. 그렇게 해도 원하는 결과값은 정상적으로 반환되기 때문에 틀린 코드가 전혀 아니다. 이건 그렇게 크게 중요한 내용은 아니라고 생각된다.

 

중요한 것은 1번 개념이다. 날짜와 관련된 문제는 datetime 모듈을 이용하면 간단하게 풀 수 있기 때문에 미리 익혀두면 상당히 유용하다. 다만, 공식 document에는 너무나도 방대한 내용이 있어서 평생 써보지도 않을 기능까지 불필요하게 볼 수도 있으니 구글링을 하며 나에게 필요한 기능들을 찾고 잘 정리해놓을 필요가 있겠다. 추후에 datetime 모듈과 관련하여 포스팅해보겠다.

 

datetime 모듈과 관련된 공식 document 내용은 여기에 있으며, datetime 모듈 안에 있는 datetime 클래스에 관련된 공식 document는 여기, datetime 클래스 내에 있는 메서드 strftime( ) 및 strftime( )의 포맷 코드와 관련된 공식 document는 여기에 있다.

 

 

 

Source : https://programmers.co.kr/learn/courses/30/lessons/12901

반응형
저작자표시 (새창열림)

'PS > 프로그래머스' 카테고리의 다른 글

[프로그래머스][파이썬/Python] 쇠막대기  (0) 2020.03.05
[프로그래머스][파이썬/Python] (2018 카카오 코딩테스트) 비밀지도  (0) 2020.03.04
[프로그래머스][파이썬/Python] x만큼 간격이 있는 n개의 숫자  (0) 2020.02.19
[프로그래머스][파이썬/Python] 문자열을 정수로 바꾸기  (0) 2020.02.18
[프로그래머스][파이썬/Python] 두 정수 사이의 합  (0) 2020.02.18
    'PS/프로그래머스' 카테고리의 다른 글
    • [프로그래머스][파이썬/Python] 쇠막대기
    • [프로그래머스][파이썬/Python] (2018 카카오 코딩테스트) 비밀지도
    • [프로그래머스][파이썬/Python] x만큼 간격이 있는 n개의 숫자
    • [프로그래머스][파이썬/Python] 문자열을 정수로 바꾸기
    몽-구
    몽-구
    소망보단 목표를, 생각보단 실천을

    티스토리툴바