
[백준] 2839번 설탕 배달 DP 문제 풀이
2022. 9. 12. 23:43
알고리즘
2839번 / 설탕 배달 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 접근 그리디 알고리즘이면서 DP로도 해결 가능한 문제이다. 이번 시간에는 DP로 풀어보겠다. 여느 DP 문제가 그렇듯 DP 배열 안에 담을 수 있게끔 일정한 규칙을 찾는게 키 포인트다. 각자 방식은 다를 수 있으나, 나같은 경우는 일단 케이스를 여러개 만들어서 그 안에서 규칙을 찾았다. 배달해야하는 각 무게마다 설탕 봉지의 최소 개수를 세어보면 위와 같다. 8Kg부터는 어떻게 ..

[인텔리제이] 테스트 결과 한글 깨짐 오류 해결(인코딩 설정)
2022. 9. 12. 18:56
인텔리제이
오류 발생 테스트 결과 부분의 한글이 깨져서 나타난다면 인코딩 설정이 잘못된 것이다. 해결 Encoding 세팅 File - Settings - File Encodings로 가서 표시된 부분을 UTF-8로 바꿔주자. VM 옵션 추가 Help - Edit Custom VM Options로 들어가서 아래 두 줄을 추가해주자. -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 인텔리제이 재시작 재실행하고 동작해보면 한글이 자알 나올것! 끝

[JPA] @MappedSuperclass 핵심 개념
2022. 9. 9. 20:25
스프링/JPA
MappedSuperclass 개념 핵심부터 말하자면, 객체는 상속관계에 있으나 테이블은 상속관계 매핑이 아닐 때 사용한다. 논리적으로 상속 관계에 있는 엔티티 클래스 간에 매핑 관계를 만드는게 아니라, 단순히 공통된 매핑 컬럼을 하나의 부모 객체 안에 몰아넣고자 할 때 사용하는 어노테이션이다. Member와 Seller 테이블이 있다. 이 두 테이블은 공통적으로 id와 name을 공통 속성으로 갖는다. 우리는 이 두 속성을 부모 객체에 할당하고자 하는거다. 지금은 두 테이블밖에 없지만 만약 테이블이 수십개가 넘어간다고 가정해보자. 그리고 공통된 속성은 id와 name에서 그치는 것이 아니라 등록일자, 수정일자, 등록한 사람, 수정한 사람 등등 점점 늘어난다고 가정하자. 그때마다 모든 엔티티 클래스에 가..

[IntelliJ] 인텔리제이 테마(스킨) 변경하기
2022. 8. 31. 16:34
인텔리제이
Plugins에서 material theme ui를 검색하고 설치해주자. 설치한 후 인텔리제이를 재시작 하면 화면 5시방향에서 원하는 테마로 손쉽게 변경할 수 있다. 끝

[IntelliJ] 인텔리제이 글자 크기 조절하기
2022. 8. 31. 16:30
인텔리제이
Setting - General에서 표시된 부분을 체크해주자. Active editor: 현재 위치한 파일의 글자크기만 조절 All editors: 모든 파일의 글자크기를 조절 적용하고 나면 컨트롤 + 마우스 휠로 간단하게 글자 크기를 변경할 수 있다. 끝

[스프링] Spring Boot Devtools 사용해서 서버 재시작 시간 아끼기
2022. 8. 30. 20:44
스프링
Spring Boot Devtools 웹 프로그래밍을 할 때 변경점이 생기면 서버를 재시작 해야하는 번거로움이 있다. Spring Boot Devtools를 사용하면 서버를 재시작 할 필요 없이 변경이 발생한 파일만 리빌딩을 해주면 되니 시간을 효율적으로 아낄 수 있다. 설정 체크 아래 설정 경로 두 곳으로 이동하여 표시된 부분을 체크해주자 의존성 추가 (gradle) dependencies { implementation 'org.springframework.boot:spring-boot-devtools' } dependencies 안에 위에 코드를 의존성으로 추가해주자. 의존성 추가 (maven) org.springframework.boot spring-boot-devtools 2.7.4 인텔리제이 재..

Gradle에서 라이브러리 의존관계 확인하기 (터미널 / 인텔리제이 )
2022. 8. 30. 17:13
자바
프로젝트를 진행하면서 사용되는 라이브러리들은 수많은 의존관계를 이루고 있다. 그런 의존관계들을 터미널과 인텔리제이에서 각각 확인하는 방법을 알아보겠다. Gradle 기준이다. 터미널에서 확인하기 해당 프로젝트 폴더 내부로 경로를 이동한다. 터미널에 아래와 같이 입력하면 아래와 같이 라이브러리 의존관계들이 쭉 출력된다. gradlew dependencies 다만, 터미널에서는 가독성이 떨어질 수 있다. 이번에는 인텔리제이에서 확인해보겠다. 인텔리제이에서 확인하기 오른쪽 Gradle탭 - Dependencies 폴더에서 확인 가능하다. 확실히 IDE를 사용해서 터미널보다 가독성이 좋은 것 같다. 끝

[스프링] 프로젝트 실행 시 LoggingFailureAnalysisReporter 에러 해결
2022. 8. 29. 23:57
스프링
처음 스프링 프로젝트를 생성하고 어플리케이션을 실행했을 때 에러가 뜨는 경우가 있다. 프로젝트를 다시 만들어봐도 똑같다. 아무것도 건들지 않았는데! 개발을 하다보면 에러만큼 속 썩이는게 없다. 하지만 이 경우엔 미치도록 억울한 만큼 해결 방법은 아주 간단하니 걱정하지 않으셔도 괜찮다. 해결법 /src/main/recources 위치에 있는 application.properties 파일을 열고 아래 코드를 복사해서 붙여넣자. spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration 어플리케이션 다시 실행해보면 정상적으로 작동할 것이다. 끝

[CSS] 선택자 - 결합자
2022. 8. 29. 13:06
CSS
결합자 자손 결합자 box1 text Hello Bye div { border: 10px solid black; } .box.border-box .text { // 자손 결합자 color: red; } div div { // 자손 결합자 color: green; } 공백(띄어쓰기)을 이용해 두 개 이상의 선택자를 조합하는 형태로 표현할 수 있다. 뒤쪽 선택자 요소의 부모선택자가 존재할경우 사용한다. (부모, 부모의 부모, 부모의 부모의 부모...) 뒤에 작성한 선택자부터 그 이하의 모든 선택자들에 스타일을 적용한다. 쉼표( , )를 이용해 작성하는 그룹 선택자는 모든 선택자에 스타일이 적용된다는 점에서 차이라고 볼 수 있다. 그룹 선택자 링크 : https://imcoding.tistory.com/46 ..

[CSS] 선택자 - 그룹 선택자
2022. 8. 28. 23:15
CSS
CSS 그룹 선택자 box1 box2 .box { color: blue; } .box.border-box, .box.bg-box { border: 10px solid #000; } 여러개의 선택자를 가져와서 쉼표를 이용해 작성하여 스타일 시트 크기를 줄일 수 있다. 끝

[CSS] 선택자 - 기본 선택자
2022. 8. 28. 16:50
CSS
CSS 기본 선택자 CSS의 선택자(Selector)는 html에서 쓰인 코드에 영향을 준다. 여기서는 선택자 중에서도 기본 선택자에 대해 알아보겠다. 기본 선택자 표현식 전체 선택자 * 요소 유형 선택자 선택하길 원하는 노드 이름 (div, input 등) 클래스 선택자 . ID 선택자 # 특성 선택자 [attr] 전체 선택자 * { color: red; } html 내에 존재하는 모든 태그에 영향을 준다. 유형 선택자 div { color: red; } input { color: red; } html에서 해당 태그를 갖는 모든 요소를 선택한다. 클래스 선택자 빨간색문장 파란색인풋 .div1 { color: red; } .input1 { color: blue; } html에서 해당 클래스 이름을 갖는 ..

[백준] 2798번 블랙잭 문제풀이
2022. 8. 26. 23:18
알고리즘
문제 출처: https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다...