본문 바로가기

Java6

[Java] Java 를 이용한 주/월달력 생성로직 추후 정리 소스 DateStr public class DateStr { private String dateStr; private final String DELIMITER = "-"; private List list; public DateStr(String dateStr) { if(!validation(dateStr)){ throw new RuntimeException("DATE VALIDATION FAIL"); } this.dateStr = dateStr; parseInt(); } public boolean validation(String dateStr){ try{ DateTimeFormatter.ofPattern("yyyy-MM-dd").parse(dateStr); }catch (Exception e).. 2022. 12. 6.
[Java] record type jdk 14 버전 이후부터 제공되는 데이터 타입. class 형태중 불변 class로 정의할 때 사용된다. 즉 해당 클래스는 생성자와 getter(), toString() 메소드를 포함하고 있는 형태라고 볼수있다. 기존의 불변객체 정의 public class Test { private final String name; private final String contents; public Test(String name, String contents) { this.name = name; this.contents = contents; } public String getName() { return name; } public String getContents() { return contents; } } record.. 2022. 12. 6.
[Algorithm] N으로 표현 https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 해당 문제는 주어진 숫자를 최소한 으로 반복하여 원하는 숫자를 만들어 내는 문제이다. 처음 문제를 보고 생각했을 때 문제유형을 보고 DP 접근 방식으로 풀이를 생각했다. ~~를 하기위한 최소한의 방법 같은 문제를 보았을 때 DP를 떠올리자 ( 하지만 난 생각이 나질 않아유형을 봐서 알아냈음... 경험치가 부족한거 같다.) DP 의 인덱스 접근을 아래와 같이 정이해봄 DP[ i ] => 주어진 숫자를 i 번 사용하여 만들수 있는 숫자들 DP의 값이 여러 숫자가 가능하기 때문에 List 형태로 선언함. public int solution(int.. 2022. 3. 30.
[Algorithm] 더 맵게 : 프로그래머스 - Heap https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 위 알고리즘은 힙을 이용한 트리검색을 통해 지정한 숫자보다 작은수가 없을 때 까지 연산을 진행하는 알고리즘 이다. 문제의 풀이는 자바에서 힙 구조로 이루어진 우선순위 큐 (Priority Queue) 를 이용하여 문제를 해결하였다. import java.util.PriorityQueue; class Solution { public int solu.. 2020. 8. 26.
[Java] Call by value & Call by reference 프로그래밍에서 함수의 호출 방식으로 Call by value 와 Call by reference 방식이 있다. 이는 함수에 매개변수를 넘겨줄 때 '값(value)'을 넘겨주느냐 '주소(reference)'를 넘겨주느냐는 차이에서 생겨난 용어이다. Call by value 먼저 c 언어로 되어있는 예시를 보자. #include void swap(int a, int b){ int temp; temp = a; a = b; b = temp; } int main(){ int a, b; a = 10; b = 20; printf("swap 전 : %d %d\n", a, b); swap(a, b); printf("swap 후 : %d %d\n", a, b); return 0; } 스스로 이해해본 결과 이는 main 에.. 2020. 7. 29.