본문 바로가기

전체 글221

[프로그래머스] 땅따먹기 - 자바(Java), DP(Dynamic Programming) 문제 https://programmers.co.kr/learn/courses/30/lessons/12913 풀이 DFS를 사용해 완전 탐색으로 풀이하면 시간 초과로 실패하기 때문에, DP(Dynamic Programming)를 사용하여 풀이해야 한다. import java.util.*; class Solution { int solution(int[][] land) { int n = land.length; for(int i = 1; i < n; i++) { //land[i][j] : i행 j열로 내려왔을 때의 최대 값 land[i][0] += Math.max(land[i-1][1], Math.max(land[i-1][2], land[i-1][3])); land[i][1] += Math.max(land[i-.. 2022. 1. 10.
[프로그래머스] 최솟값 만들기 - 자바(Java) 문제 https://programmers.co.kr/learn/courses/30/lessons/12941 풀이 두 배열 중 하나는 오름차순 정렬, 남은 하나는 내림차순 정렬한 뒤 같은 인덱스끼리 곱한 합이 최솟값이다. import java.util.*; class Solution { public int solution(int []A, int []B) { int answer = 0; //reverseOrder() 를 사용하려면 래퍼 타입이어야하기 때문에 int[] -> Integer[] 변환 //boxed() : 프리미티브 타입을 래퍼 타입으로 박싱한 스트림을 만들어준다. Integer[] BB = Arrays.stream(B).boxed().toArray(Integer[]::new); Arrays.so.. 2022. 1. 8.
[프로그래머스] 피보나치 수 - 자바(Java), 메모이제이션 문제 https://programmers.co.kr/learn/courses/30/lessons/12945 풀이 n이 최대 100000이기 때문에 엄청나게 큰 수가 만들어지게 되어 일반적인 피보나치를 계산하는 로직으로는 오버플로우가 발생하게 된다. 그렇기 때문에 fibo[n]%1234567 = (fibo[n-1] + fibo[n-2])%1234567 식을 활용하여 코드를 작성한다. 또한 메모이제이션을 사용하여 시간 초과를 방지한다. import java.util.*; class Solution { int[] fibo; public int solution(int n) { fibo = new int[n+1]; return dfs(n); } private int dfs(int n) { if(fibo[n] > .. 2022. 1. 4.
[프로그래머스] 카펫 - 자바(Java) 문제 https://programmers.co.kr/learn/courses/30/lessons/42842 풀이 코드 public class Main { public int[] solution(int brown, int yellow) { //column, row : 노란 격자 컬럼, 행 길이 for(int column = 1; column yellow/column*2 + column*2 + 4 = (yellow/column + column)*2 + 4 = brown */ if(yellow%column == 0 && ((row+column)*2 + 4) == brown) { return new int[] {row+2, column+2}; } } return null; } } 2022. 1. 3.
[Database] 식별 관계, 비식별 관계 식별 관계(Identifying Relationship) 식별 관계는 개체 A, B 사이의 관계에서 A개체의 기본 키가 B 개체의 외래 키이면서 동시에 기본 키가 되는 관계를 말한다. 즉, B 개체의 존재 여부가 A 개체의 존재 여부에 의존적인 관계이다. 식별 관계는 ER-Diagram에서 실선으로 표현한다. 비식별 관계(Non-Identifying Relationship) 비식별 관계는 개체 A, B 사이의 관계에서 A개체의 기본 키가 B 개채의 기본 키가 아니면서 외래 키인 관계를 말한다. 즉, B 개체의 존재 여부는 A 개체의 존재 여부와 상관이 없는 관계이다. 비식별 관계는 ER-Diagram에서 점선으로 표현한다. 2021. 12. 31.