본문 바로가기

전체 글474

[Data Modeling] PK, UK, FK Primary Key (PK) / Unique Key (UK) Primary Key (PK) Unique Key 정의 테이블의 각 레코드 구별값 테이블 내에서 항상 유일해야 하는 값 제약조건 각 테이블의 식별자 역할 각 컬럼에 입력되는 데이터가 유일하다는 것을 보장 특징 * 각 테이블 당 하나만 설정 가능(기본키), 반드시 하나의 컬럼으로만 구성되는 것은 X * 중복 허용 X * 데이터 유일성 보장돼야 함 * Unique Index (고유 인덱스) 자동 생성 * NOT NULL + Unique 제약조건 결합 * 각 테이블 내에서 여러 개 지정 가능 * 중복 허용 X * Unique Index (고유 인덱스) 자동 생성 * NULL 허용 Foreign Key (FK) Foreign Key (FK) 정의 외.. 2022. 3. 26.
[백준] 10757번 : 큰 수 A + B - Java https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 알고리즘 1. 문제 long 타입 범위 : (-263) ~ (263 - 1) 문제 내의 주어진 범위 : 1010000 ➡ long 타입 범위 초과 2. 방법 2.1. 덧셈 과정 직접 구현 [예시] [각 자리수] 10으로 나눈 나머지 값 저장 10이 넘을 경우 올림 발생 ➡ 다음 자리수에 +1 2.2. Java의 BigInteger 클래스 활용 BigInteger : 클래스 객체 ➡ 선언 및 생성 필수 Big Integer 생성 시 파라미터로 문자열 넘겨줘야 함 3. 구현 방법 Scanner + 직접 구현 .. 2022. 3. 26.
[백준] 2839번 : 설탕 배달 - Java https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 알고리즘 문제 봉지 개수 최소화 최대한 5kg 봉지로 구성해야 함 순서 5로 나누어 떨어지는 수 5로 나누어 떨어지지 않는 수 (N / 5) 값과 (N % 5) 값 파악 예외 경우 파악 결론 크게 4가지 경우로 나누자 1. N == 4 or N == 7 골드바흐의 추측 적용 주어진 조건 : 3kg, 5kg 주어진 두 소수 3, 5의 합인 8 이상의 모든 자연수는 소수의 합으로 나타낼 수 있음 ∴ 두 소수의 .. 2022. 3. 26.
[백준] 2775번 : 부녀회장이 될테야 - Java https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 주의점 가장 첫 줄 : 테스트 케이스 테스트 케이스 다음 줄부터 두 줄씩 묶어 k 와 n 이 주어짐 아파트 : 0층부터 시작, 각 층은 1호부터 시작 알고리즘 k 층 n 호 = (k-1) 층 1 호 + (k-1) 층 2 호 + ... + (k-1) 층 n 호 입력 조건 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다. (1 2022. 3. 26.
[Gradle] Lombok: variable not initialized in the default constructor Lombok (롬복) Java 환경에서 어플리케이션 개발 시 보일러플레이트 코드를 제거하기 위해 사용 Lombok 어노테이션 사용 시, 컴파일될 때 해당 어노테이션의 기능들이 자동으로 생성됨 예시 getter, setter, constructor 자동 생성됨 @Getter @Setter @NoArgsConstructor public class User { private String name; private int age; } @NoArgsConstructor User 클래스에 대한 디폴트 생성자 자동 생성 @NoArgsConstructor public class User { private String name; private int age; /* public User() {} */ } @AllArgsCo.. 2022. 3. 25.
[Gradle] 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 에러 메시지 gradlew : 'gradlew' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으 로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + gradlew -v + ~~~~~~~ + CategoryInfo : ObjectNotFound: (gradlew:String) [], CommandNotFoundExcepti on + FullyQualifiedErrorId : CommandNotFoundException Suggestion [3,General]: gradlew 명령이 현재 위치에 있지만 이 명령을 찾을 수 없습니다. Windo ws PowerShell은 기본적으로 현재 위.. 2022. 3. 25.
[Gradle] 버전 확인 / 업그레이드 Gradle 버전 확인(IntelliJ 기준) Gradle 정보 위치 gradle/wrapper/gradle-wrapper.properties 1. gradle-wrapper.properties distributionUrl 속성값에서 현재 적용된 Gradle 버전 확인 가능 2. .\gradlew 명령어 모듈 내에 존재하는 gradlew Alt + F12: Console 창 열기 Console에 .\gradlew -v 명령어 입력( = gradlew에 접근) .\gradlew -v Gradle 버전 업그레이드/다운그레이드 Alt + F12: Console 창 열기 Console에 .\gradlew wrapper --gradle-version 원하는버전 입력 .\gradlew wrapper --gradle.. 2022. 3. 25.
[백준] 10250번 : ACM 호텔 -Java https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 알고리즘 방 배정 우선순위 엘리베이터로부터 가까운 거리부터 배정 거리가 같은 경우 낮은 층수부터 배정 (일반 아파트 호수 매김 방법과 동일함) 1. Y (층) 구하기 int Y; if(N % H == 0) { Y = H * 100; } else { Y = (N % H) * 100; } 2. X (거리) 구하기 int X; if(N % H == 0) { X = N / H; } else .. 2022. 3. 24.
[백준] 2869번 : 달팽이는 올라가고 싶다 - Java https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 주의점 1. 시간 제한 2. 정상에 올라간 후에는 미끄러지지 않는다. 알고리즘 분석 달팽이가 하루(낮 + 밤) 동안 올라가는 높이(미터) 하루에 (A - B) 미터씩 총 V미터 BUT 달팽이가 목표 지점에 도달한 날(정상에 올라간 후)에는 미끄러지지 않는다. ➡ 총 (V - B) 미터를 올라가는 셈 결론 최소한 며칠이 걸리는지 일(日) 수 = (V - B) / (A - B) 적용 (V - B) % (A - B) == 0 남은 미터가 없다는 의미 = 정상까.. 2022. 3. 24.