문제 풀기/C#

54. 2016 (DateTime Class)

kagan-draca 2025. 2. 6. 13:51

 

기본 틀 :

 

public class Solution {
    public string solution(int a, int b) {
        string answer = "";
        return answer;
    }
}

 

위의 문제를 푸는 방법으로는 2016년 1 ~ 12월 까지 모든 마지막 날을 배열로 저장하고,

 

매개변수로 제공되는 a(월), b(일) 비교해서 해당 수학적 공식이나 반복문으로 요일을 구해야 한다.

 

하지만, 그렇게까지 해서 뭔가 드라마틱 하게 내 실력이 향상 될까?

 

하면 또 그것도 아닌 것 같았다.

 

이럴 때는 그냥 언어에서 제공하는 내장 메서드나 함수를 찾는 것이 가장 편하고

 

이런 메서드나 함수가 있구나~ 라는 사실을 알게 돼 더 유익한 것 같다.

 

인터넷에 찾아 본 결과 C#에서는

 

 DateTime 이라는 Class를 제공해준다.

 

생성자의 input 값으로는 년, 월, 일 순으로 넣어줘야 했고

 

그렇게 만들어진 인스턴스는 

 

그냥 출력을 하면 위와 같이 출력 되는데

 

Class의 인스턴스인 만큼 내장 메서드와 필드가 또한 존재한다.

 

dateValue.DayOfWeek

 

로 필드를 호출하면 

 

위와 같이 요일이 출력 된다.

 

우리는 Tuesday를 "TUE"로 만들기 위해

 

DayOfWeek 필드를 ToString()으로 문자열로 바꾸고

 

Substring(0,3)으로 index가 0 ~ 2까지인 문자열만 추출해준다.

 

그 후, ToUpper()로 소문자를 대문자로 바꿔주면 된다.

 

using System;

public class Solution {
    public string solution(int a, int b) 
    {
        DateTime dateValue = new DateTime(2016,a,b);
        return dateValue.DayOfWeek.ToString().Substring(0,3).ToUpper();
    }
}

'문제 풀기 > C#' 카테고리의 다른 글

56. 과일 장수  (0) 2025.02.06
55. 카드 뭉치  (0) 2025.02.06
53. 명예의 전당 (1)  (0) 2025.02.05
52. 콜라 문제  (0) 2025.02.05
51. 푸드 파이트 대회  (0) 2025.02.05