기본 틀 :
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 |