-
코딩테스트용 프로젝트 템플릿!! 😆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