<프로그래머스> Level1 2016년

2019. 1. 9. 22:49· 군대에서 한것/프로그래머스
반응형

2016년


문제


문제 설명

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일같은 날짜는 주어지지 않습니다)


문제 풀이

윤년이란건 우리가 쓰고 있는 태양년의 오차를 맞추어 주기 위하여 4년에 한번 하루를 더해주는 년도를 말한다. 28일까지 있던 2월에 하루가 더해지게 된다. 나는 주어진 a월 b일이면 총 몇일인지 구한 다음 7로 나눈 나머지를 가지고 무슨 요일인지 판별하였다.

이때 switch 문을 사용하였는데 break를 쓰지 않으면 중간에 switch문을 빠져나가지 않는 것을 이용하여 for문을 사용하지 않았다. 다른 사람들의 풀이를 보았는데 for문을 사용하고 각 월의 일 수 가 담긴 배열을 사용하면 좀 더 짧게 구현할 수 있지만 구하는 방법 자체는 같다. 표현하는 방식이 다를 뿐이고 간단한 문제라 큰 상관 없어보인다.

C++ 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <string>
#include <vector>
 
using namespace std;
 
vector<string> week = { "THU", "FRI", "SAT","SUN", "MON", "TUE", "WED"};
 
string solution(int a, int b) {
    string answer = "";
    int day = b;
 
    switch(a-1){
        case 12:
            day += 31;
           case 11:
            day += 30;
        case 10:
            day += 31;
        case 9:
            day += 30;
        case 8:
            day += 31;
        case 7:
            day += 31;
        case 6:
            day += 30;
        case 5:
            day += 31;
        case 4:
            day += 30;
        case 3:
            day += 31;
        case 2:
            day += 29;
        case 1:
               day += 31;
        default :
            break;
    }
 
   answer = week[day%7];
 
   return answer;
}
Colored by Color Scripter
cs


반응형
저작자표시 비영리

'군대에서 한것 > 프로그래머스' 카테고리의 다른 글

<프로그래머스> Level1 모의고사  (0) 2019.01.10
<프로그래머스> Level1 두 정수 사이의 합  (0) 2019.01.09
<프로그래머스> Level1 K번째수  (0) 2019.01.05
<프로그래머스> Level1 같은 숫자는 싫어  (0) 2019.01.05
<프로그래머스> Level1 시저 암호  (0) 2019.01.05
'군대에서 한것/프로그래머스' 카테고리의 다른 글
  • <프로그래머스> Level1 모의고사
  • <프로그래머스> Level1 두 정수 사이의 합
  • <프로그래머스> Level1 K번째수
  • <프로그래머스> Level1 같은 숫자는 싫어
_으량_
_으량_
IOS 주니어 개발자의 잡다한 이것저것
_으량_
으량개발기
_으량_
전체
오늘
어제
  • 분류 전체보기 (90)
    • 프로젝트 (5)
      • 유니티 게임 (1)
      • 안드로이드 앱 (1)
      • 기타 프로젝트 (1)
      • IOS 앱 (2)
    • 인턴 정리 (1)
      • IOS 기초 (0)
      • AVFoundation (0)
    • 알고리즘 (38)
    • 안드로이드 스튜디오 (0)
    • ndc 서포터즈 (0)
    • 군대에서 한것 (40)
      • 백준 알고리즘 (11)
      • Operating System (8)
      • 프로그래머스 (20)
    • 공부 (5)
      • medium (3)
      • ios (2)
      • git (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 프로그래머스
  • social login
  • ios
  • SWIFT
  • BFS
  • Hashable Equatable
  • anyview
  • DP
  • level3
  • 백준
  • C++
  • SwiftUI
  • 그리디 알고리즘
  • Hash Collision
  • swift6
  • GoogleSignIn
  • equatable
  • 규칙찾기
  • 알고리즘
  • hashable
  • Tuist
  • 군대공부
  • dfs
  • OS
  • 1DP
  • level1
  • for문
  • IUPC
  • programmers
  • 군대개발

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
_으량_
<프로그래머스> Level1 2016년
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.