
🚀접근하기 이전 다이나믹 프로그래밍 문제에 큰 충격을 받아, 다른 다이나믹 프로그래밍 문제를 하나 더 풀어보았다. 먼저 N = 1 인 것부터 시작해서 일정한 값까지 쭉 써봤는데, N = 6까지 써보니 규칙이 보였다. 윗 그림과 같이 1뒤에 다 0일 때, 1이 일의자리수에 나타날 경우 -> N=1 개수, 1이 십의자리수에 나타날 경우 -> N=2 개수, 1이 백의자리수에 나타날 경우 -> N=3 개수, . . . 임을 알 수 있다. 예를 들어 N = 6일 때, 1뒤에 다 0인 경우(1개) + 1이 일의자리수에 나타날 경우 -> N=1 개수 (1개) + 1이 십의자리수에 나타날 경우 -> N=2 개수 (1개) + 1이 백의자리수에 나타날 경우 -> N=3 개수(2개) + 1이 천의자리수에 나타날 경우 -> ..

🚀접근하기 다이나믹 프로그래밍 문제. 사실 전부터 다이나믹 프로그래밍 문제를 어려워했었는데, 역시나 이번에도 오랜만에 하니 어려웠다..... 처음에는 정말 이상하게 접근하다가, 계단이 4개 이상일 때부터 일정한 점화식이 세워짐을 알게 되었다. 마지막 계단(n) 을 기준으로 2가지의 경우가 생기는데, 1) n과 n-2 계단 선택 2) n과 n-1, n-3 계단 선택 즉, 예제 입력대로 6개의 수가 10,20,15,25,10,20 순으로 배열에 입력되었을 때, 마지막인 6번째 계단을 기준으로 1) 6번째 계단과 4번째 선택한 경우 2) 6번째 계단과 5번째, 3번째 계단을 선택한 경우 이렇게 두가지이다. 이 둘 중 max 값을 선택하여 더해주면 된다. 점화식: dp[n] = stairs[n] + max(st..
6강 - SELECT 구문 검색 = 질의 = 추출 검색을 위해 사용하는 SQL 구문 -> SELECT 구문 1. SELECT 구와 FROM 구 'SELECT [컬럼이름] FROM [테이블 이름] 'SELECT 1'처럼 상수를 선택하는 경우와 같은 예외를 제외하고는 FROM 구를 반드시 입력해야함 2. WHERE 구 레코드를 선택할 때 추가적인 조건을 지정할 수 있는 방법 '필터 조건' =, , >=, >, = 30; - WHERE구는 거대한 벤다이어그램 - IN으로 OR조건을 간단하게 작성할 수 있음 ex) WHERE address = '서울시' OR address = '인천시' OR address = '부산시'; => WHERE address IN('서울시', '인천시', '부산시'); - NULL은 ..

1. github에서 OpenGL 코드 다운받기 https://github.com/JoeyDeVries/LearnOpenGL GitHub - JoeyDeVries/LearnOpenGL: Code repository of all OpenGL chapters from the book and its accompanying website https://lear Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com - GitHub - JoeyDeVries/LearnOpenGL: Code repository of all OpenGL chapters from the book an....

🚀접근하기 전체적으로는 쉬운데, 예제 입력 2처럼 세로로 읽을 때 해당 자리에 글자가 없으면 읽지 않고 그 다음 글자를 계속 읽도록 작성하는 게 관건이었던 문제다. 또한 평소처럼 가로로 읽는 것이 아닌 세로로 읽도록 순서를 작성해줘야 한다. 🎉코드 lst = [] for i in range(5): row = [' '] * 15 lst.append(row) for i in range(5): s=input() for j in range(len(s)): lst[i][j] = s[j] result = "" for i in range(15): for j in range(5): if lst[j][i] != ' ': result += lst[j][i] else: continue print(result) index o..

🚀접근하기 문제 설명이 길어서 읽고 이해하는데 시간이 좀 걸렸던 문제. 그러나 그냥 설명해주는대로 조건을 나눠 작성해주면 되는 문제였다. 🎉코드 import sys n=int(sys.stdin.readline()) switch = list(map(int , sys.stdin.readline().split(" "))) stu = int(sys.stdin.readline()) for i in range(stu): n1, n2 = map(int,sys.stdin.readline().split(" ")) if n1 == 1: for i in range(n2, n+1, n2): switch[i-1] = switch[i-1]^1 elif n1 == 2: cnt = 1 while True: m1 = n2 - cnt ..

🚀접근하기 처음 봤을 땐 쉬워보이는데 이게 실버 4라고? 의아해하며 풀었던 문제이다. 역시나 시간초과로, 공식을 세워서 풀어야 하는 문제였다. 생각해보니 자릿수마다 패턴이 존재했다..! 1~9 -> 1*9*10^0 = 9자리 10~99 -> 2*9*10^1 = 180자리 100~999 -> 3*9*10^2 = 2700자리 . . . 이에 따라 i * 9 * 10**(i-1)라는 공식을 세워줬다. 여기서 i는 한자리 숫자들이었는지, 두자리 숫자들이었는지에 따라 달라진다. 🎉코드 import sys N = int(sys.stdin.readline()) num = 1 for i in range(2,N+1): num = str(num) + str(i) print(len(num)) 이렇게 푸니 역시나 시간초과가..

DBMS 아키텍쳐 개요 1. 쿼리 평가 엔진 사용자로부터 입력받은 SQL 구문을 분석하고, 어떤 순서로 기억장치의 데이터에 접근할지를 결정 계획을 세우고 실행하는 DBMS의 핵심 기능을 담당하는 모듈 • 실행계획: 결정되는 계획 • 접근 메서드: 실행 계획에 기반을 둬서 데이터에 접근하는 방법 2. 버퍼 매니저 DBMS는 버퍼라는 특별한 용도로 사용하는 메모리 영역을 확보해두는데, 이 때 메모리 영역을 관리하는 것이 버퍼 매니저 3. 디스크 용량 매니저 데이터베이스는 데이터를 영구적으로 저장해야 하므로, 어디에 어떻게 데이터를 저장할지를 관리하며 데이터의 읽고 쓰기를 제어 4. 트랜잭션 매니저와 락 매니저 수많은 사람들이 동시에 데이터베이스에 접근해서 사용하므로, 트랜잭션의 정합성을 유지하면서 실행시키고..
- Total
- Today
- Yesterday
- 인텔리제이
- 스프링 북마크
- 지연로딩
- 자바 스프링
- DP
- 회원탈퇴
- 백준
- JPA
- 로깅
- 스프링
- 영속
- 커뮤니티
- SQLD
- elasticsearch
- 백준 파이썬
- SQL
- 북마크
- 비영속
- 자바
- 파이썬
- 프론트엔드
- EnumType.ORDINAL
- SQL 레벨업
- 준영속
- 다이나믹 프로그래밍
- 스프링부트
- 웹 MVC
- 웹MVC
- 로그아웃
- 스프링 커뮤니티
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |