Today
-
Yesterday
-
Total
-
  • 코딩테스트용 프로젝트 템플릿!! 😆
    Language/Java 2023. 11. 21. 00:01

    / Main.java

    import java.lang.reflect.InvocationTargetException;
    import java.util.ArrayList;
    
    /**      Index
                site 0 : 백준
                  01.
                  02.
                site 1 : 프로그래머스
                  01. 2차원으로 만들기 [https://school.programmers.co.kr/learn/courses/30/lessons/120842]
                  02. 정렬 [https://school.programmers.co.kr/learn/courses/30/lessons/42748]
    */
    public class Main {
        public static void main(String[] args) throws ClassNotFoundException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {
    
            /*  site         =  b : 백준     p : 프로그래머스
             *  fileNumber   =  1 , 2 , 3 , 4 , .....
             *  launcher     =  1: main     2 : test         */
    
            int site        = 'p';
            int filenumber  = 1;
            int launcher    = 2;
    
            printLectucePractice(site, filenumber, launcher);
        }
    
    
        private static void printLectucePractice(int site, int fileNumber , int launcher) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
            String str = "";
    
            if (site == 'b')        str = String.format("baekjoon.Test%02d", fileNumber);
            else if (site == 'p')   str = String.format("programmers.Test%02d", fileNumber);
    
            Class.forName(str).getDeclaredConstructor(int.class).newInstance(launcher);
        }
    }

    공부가 손에 안잡혀서 코딩테스트 문제 풀 때 마다 은근히 스트레스 받았던 작업을 오늘 해결해버렸다. 😄

    만든김에 템플릿 프로젝트로 만들어서 깃에 저장해두었다. 강의 들으면서 작성하는 파일들도 이런식의 프로젝트 구조로 만들어서 함께 깃에 올려두었다. 😊 온라인 강의를 여러개 들으면서 파일 관리가 힘들었는데 이참에 이거 가지고 싹 정리해야겠다.(나중에 공부하기 싫을때나.....🤐)

    작동 방식은 각 패키지(baekjoon / programmers) 안에 있는 Test파일 복붙으로 번호 붙여서 작성하고, 실행할땐 최상위 위치의 Main 파일 열어서 site, filenumber, launcher(실행할 메소드 = 1: 제출환경 / 2: 콘솔출력환경) argss에 넘겨줄 매개변수들 append해서 보내버리면 된다.

    • [ 23.03.22 수정 ] -> 프로그래머스 코드의 경우 Main클래스에서 보내주던 매개변수들을, 해당 Test 파일 속 생성자에서 전달하는걸로 변경

    괜히 만들었나 싶기도 하지만 이렇게 해두는게 프로젝트 네비게이션에서 파일들이 깔끔하게 보여서 너무 마음에 들었다. 😍

    문서화는 해본적이 없어서 안해놓았는데 그것도 나중에 공부하다가 머리에 쥐나면 해봐야지!!

    'Language > Java' 카테고리의 다른 글

    SQLite  (0) 2023.11.25
    Stream_3: 중간 연산자  (0) 2023.11.25
    Stream_2: 시작 연산자  (0) 2023.11.25
    Stream_1: 소개  (0) 2023.11.25
    자바의 정석 3판 _ 연습문제 02~03 오답 정리  (0) 2023.11.23

Designed by Tistory / Custom by 얼거스