본문 바로가기

분류 전체보기

(160)
[프로그래머스 코딩테스트 고득점 Kit / 스택/큐] 기능개발 (python) 풀이from math import ceildef solution(progresses, speeds): answer = [] left = [] for i in range(len(progresses)): left.append(ceil((100 - progresses[i]) / speeds[i])) first = -1 cnt = 0 for i in left: if first 각 작업의 남은 일수를 left 배열에 담는다. (전체 완료율 100에서 현재 진행률 progresses를 뺀다. 그리고 speed로 나눠서 올림하면 남은 일수가 나온다.) 앞의 작업보다 뒤의 작업이 남은 일수가 적으면, 앞의 작업이 완료되는 순간 뒤에 있는 작..
[프로그래머스 코딩테스트 고득점 Kit / 스택/큐] 올바른 괄호 (python) 풀이1def solution(s): right_cnt = 0 for i in s: if i == '(': right_cnt += 1 elif i == ')': right_cnt -= 1 if right_cnt s 배열을 앞에서부터 순회한다. 올바르지 않은 경우는 다음 두 가지다.1. 앞에서부터 순회했을 때, '(' 개수보다 ')'개수가 커지는 경우2. s 배열을 전체 다 돌았는데 '(' 개수가 더 많은 경우 위 두 가지 경우를 고려하여 코드를 작성했다.'(' 괄호 개수를 right_cnt 변수에 담는다. ')'괄호가 나오면 right_cnt의 값을 1씩 줄인다.'(' 개수보다 ')' 개수가 더 커지면 False..
[프로그래머스 코딩테스트 고득점 Kit / 스택/큐] 같은 숫자는 싫어 (python) 풀이def solution(arr): answer = [] for i in arr: if answer and i == answer[-1]: continue answer.append(i) return answerstack을 활용한 문제.arr 전체를 돌면서 answer 안에 데이터가 존재할 때 가장 위에 있는 데이터와 지금 넣으려는 데이터가 같으면 continue, 아니라면 answer에 넣는다. python에서 stack 사용방법# 선언stack = []# pushstack.append(5)stack.append(2)# popstack.pop() #2stack.pop() #5# pushstack.append(5)stack.appe..
Spring Boot ddl_auto 옵션 회원가입하고 서버를 재시작하면 자꾸 데이터베이스가 초기화돼서 처음에는 h2-database 때문인줄 알았는데, mariaDB로 바꿔도 같은 문제가 발생했다. application.yml을 확인해보니 spring.jpa.hibernate.ddl-auto : create-drop으로 설정되어있었고, 이것때문에 재시작할 때마다 db가 초기화되는 거였다. DDL AUTO 옵션 (spring.jpa.hibernate.ddl-auto) spring.jpa.hibernate.ddl-auto 옵션은 Jpa의 Database 초기화 전략을 의미한다. 설정 가능한 값은 아래 5가지이다. none : 아무것도 실행하지 않음 create : 기존 테이블 삭제 후 다시 생성 create-drop : create 옵션 + 종료 ..
[백준 / DP] 9095 : 1, 2, 3 더하기 (Java) import java.io.*; class Main{ public static void main(String args[]) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] dp = new int[11]; StringBuilder sb = new StringBuilder(); dp[1] = 1; dp[2] = 2; dp[3] = 4; for(int i=0; i1 1+1+1+2 > 4 1+1+3 > 3 1+2+2 > 3 2+3 > 2 [6] 24 1+1+1+1+1+1 >1 1+1+1+1+2 > 5 1+1+1..
[백준 / DP] 1463 : 1로 만들기 (Java) import java.io.*; import java.lang.Math; class Main{ public static void main(String args[]) throws IOException{ BufferedReader br = new BuffaeredReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] dp = new int[n+1]; dp[0] = 0; dp[1] = 0; for(int i=2; i 0) return dp[n]; dp[n] = recur(n-1) + 1; if(n%2==0){ dp[n] = Math.min(dp[n], recur(n/2)+1); } if(n%3==0){ dp..
[백준 / DP] 11727 : 2 x n 타일링 2 (Java) import java.io.*; class Main{ public static void main(String args[]) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] dp = new int[1001]; dp[1] = 1; dp[2] = 3; for(int i=3; i
[백준 / DP] 11726 : 2 x n 타일링 (Java) import java.io.*; class Main{ public static void main(String args[]) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] dp = new int[1001]; //n+1 하면 런타임 에러남 dp[1] = 1; dp[2] = 2; for(int i=3; i dp[i] = 2×i 크기의 직사각형을 채우는 방법의 수 2. 점화식 찾기 -> n이 1,2,3,4..일 때 방법이 몇가지 나오는지 직접 해보고, 그 안에서 규칙 찾기 n=1 > 1 n=2 > 2 n=3 ..

반응형