<항해99>8일차 TIL

박건영(Parkgunyoung)·2022년 5월 16일
0

til

목록 보기
4/17
post-thumbnail

오늘도 공부를 하다보니 어김없이 12시가 지나 하루 늦게 쓰는 TIL....
언제쯤 코딩을 잘해서 빠르게 이해를 하고 술술 코드를 타이핑 할 수 있을까😢
물론 아직 시작한지 얼마 안 지났지만 오늘은 정말 뭔가 내 자신이 컴퓨터 언어를 남들보다 이해하는 속도와 적용시키는 능력이 떨어지는 것 같다는 느낌을 많이 받은 하루였다....

해야 할 일들은 많아지는데 처리속도는 현저히 느리고 계속해서 뒤처지는 그런 상태이다.
근데 포기는 하기 싫고 욕심은 앞서있는 것 같다.
알고리즘 문제를 푸는데 있어 어느정도 제한시간을 두고 해결하지 못하면 다른 사람의 풀이를 보고 문제 접근방식에 대해 이해하고 넘어가야하는데 정답 또는 그에 근접하는 값이 도출 될 때까지 고집하는 성격 탓인지 한정적인 시간을 계속해서 오버하게 되는 현상이 발생하는 것 같다. 또한 다른 사람의 풀이를 볼 때 큰 틀을 보면서 여러 방식의 틀을 보아야 하는데 하나하나 세부적으로 이해하고 넘어가려한다...

이제는 그러지 말아야지 하고도 오늘도 또 그러고 있었다...
이정도면 고집이 아니라 아집인 것 같다.

그 결과물...🤦‍♂️🤦‍♂️

그냥 처참 그자체....
2016년의 달력을 만들어 그 값을 불러 올 수 있어야 하는데 3시간동안 생각하고 고집해서 만들어낸게 2016년 5월 원 툴 달력이다....

public class Q13 {
    public static void main(String[] args) {
        System.out.println(solution(5, 24));
    }

    public static String solution(int a, int b) {
        String answer = "";

        String[] dOTW = new String[]{"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT",
                "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT",
                "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT",
                "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT",
                "SUN", "MON", "TUE"};
        int[] Month = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
        int[] day = new int[]{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};

        for (int m = 0; m < Month.length; m++) {
            if (Month[m] == a) {
                for (int d = 0; d < day.length; d++) {
                    if (day[d] == b) {
                        answer = dOTW[d];
                    }
                }
            }
        }
        return answer;
    }
}

거의 달력을 자바에 적어내린 것 같다
다른 사람의 노가다성 달력 댓글에 달력깎는 노인이이라 있던데
그게 나인 것 같다....근데 내꺼는 2016년 5월 원 툴.....

import java.util.Calendar;
import java.util.Locale;

public class Q13 {
    public static void main(String[] args) {
        System.out.println(solution(5,24));
    }

    public static String solution(int a, int b) {

        Calendar cal = new Calendar.Builder().setCalendarType("iso8601").setDate(2016, a- 1, b).build();
        return cal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, new Locale("ko-KR")).toUpperCase();

    }
}

자바에 있는 Calendar 클라스를 이용한 방식이다 다른 분의 풀이를 가져온 것인데 물론 내장 함수 이지만 정말 깔끔한 것 같다...

물론 알고리즘 문제는 내장함수를 최대한 사용하지 않고 푸는게 좋지만
이런 문제는... 좀....

물론 내장함수를 써도 잘 못 푸는 1ㅅ이 나이다...
글을 쓰는 지금도 현타가 오지만 내일 모의고사이니 못 푼 알고리즘 문제 풀러가야겠다...😭

profile
쓰러지면어때일어나면그만인걸

0개의 댓글