[프로그래머스,Level 1] 2016년(JAVA 구현)

2020. 12. 23. 13:33·CodingTest/프로그래머스(Programmers)
반응형

- 첫 풀이 및 정답풀이

  처음 문제의 접근을 달력을 그려보며 파악하긴 했지만, 매 달이 며칠까지 있는지를 생각해내지 못해 고민을 좀 했다.

매 달 며칠인지는 우리가 어려서부터 손을 사용해 많이 세 보았듯이, 정해진 일수가 존재한다.

 

  이후 문제에서 1월 1일이 금요일이라고 주어졌기 때문에 7일까지 토, 일, 월, 화, 수 순으로 반복되며, 이를 활용해 예제를 본다면 5월의 이전인 1~4월까지의 총 일수와 5월의 24일을 더해주어 7로 나눈 나머지에 따라 요일을 구할 수 있었다. 단, 필자의 풀이 방식에서는 7일의 배수인 경우 나머지가 0이 나오는데, 이는 모두 목요일에 해당된다는 점만 주의하면 된다.

 

class Solution {
    public String solution(int a, int b) {        
        
        // 1. 나눈 나머지에 따른 요일 저장 배열.
        String days[] = {"FRI","SAT","SUN","MON","TUE","WED","THU"};
        // 2. 매 달의 일 수, 윤달이므로 2월은 29일까지 존재.
        int month[] = {0,31,29,31,30,31,30,31,31,30,31,30,31};
       
        // 3. 총 일수의 합
        int sum = 0;
        
        // 4. a 이전 달 까지의 일수를 모두 더해준다.
        for(int i =1;i<a;i++){
            sum+=month[i];
        }
        // 5. a달의 b일을 더해준다.
        sum+=b;
        
        // 6. 7의 배수인 경우, 모두 목요일이다.
        if(sum % 7 == 0) return days[6];
        // 7. 나머지는 인덱스에 따라 요일 출력, 0번 인덱스부터 시작하므로 -1을 해준다.
        return days[(sum % 7)-1];
    }
}

 

 

저작자표시 (새창열림)
'CodingTest/프로그래머스(Programmers)' 카테고리의 다른 글
  • [프로그래머스,Level 1] x만큼 간격이 있는 n개의 숫자(JAVA 구현)
  • [프로그래머스,Level 1] 직사각형 별찍기(JAVA 구현)
  • [프로그래머스,Level 1] 같은 숫자는 싫어(JAVA 구현)
  • [프로그래머스,Level 1] 가운데 글자 가져오기(JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Easy
    Java
    자바
    next 14
    component-scan
    백준1427
    백준
    BOJ
    백준7576
    백준7576자바
    boj2108
    boj1427
    leetcode 2236
    medium
    백준2751
    meidum
    알고리즘
    백준1260
    프로그래머스
    TypeScript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[프로그래머스,Level 1] 2016년(JAVA 구현)
상단으로

티스토리툴바