일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MySQL
- 백준 16235
- 백준 16719
- Kotlin
- spring security
- MSA
- spring oauth
- Spring Boot
- sql 기술면접
- 백준 16236
- spring cloud
- Coroutine
- 백준 17779
- 백준 15685
- 백준 파이썬
- 프로래머스
- JVM
- 백준 19238
- JPA
- re.split
- with recursive
- 웹어플리케이션 서버
- 백준
- java
- Spring
- 백준 17626
- java 기술면접
- 파이썬
- springboot
- 프로그래머스
- Today
- Total
목록분류 전체보기 (287)
시작이 반
문법순서 select [ all | distinct ] ( * | col1 [ [ as ] "alias" ], col2, ... conN ) from tablename where condition(조건) group by having order by col1, col2, col3 ... [ asc | desc ] limit 실행 순서 from on join where group by having select order by limit
우선 기본적으로 스프링부트는 웹어플리케이션 서버를 내장하고 있다. 이는 Tomcat으로 기본 설정이 되어있으며 디펜던시 수정을 통해 다른 웹어플리케이션 서버로 바꿀 수 있다. 웹서버 HTTP통신을 이용하여 클라이언트와 서버간의 통신 HTML, CSS, JavaScript, Image 등의 정적인 정보를 반환하는 역할 웹어플리케이션 서버 웹서버 단독으로 처리할 수 없는 데이터베이스 조회, 비즈니스 로직등을 거쳐서 전달되어야 하는 것들을 처리 동적인 결과를 전송 웹서버와 웹어필리케션 서버를 나눈 이유 서버의 부하를 막고 HTTP요청 처리의 효율성을 높이기 위함
구현, 시뮬레이션 문제이다. BFS를 이용하여 풀 수 있다. 우선 BFS를 사용하여 최단 거리에 있는 사람을 찾는다. 1. 최단거리에 있는 사람을 찾고 그 거리를 저장한다. 2. 사람을 태우고 목적지까지 다시 BFS를 이용하여 거리를 저장한다. 만약 사람이나 목적지까지 도달할 수 없으면 그즉시 종료하고 -1을 출력한다. 도달할 수 있다면 연료에서 1번을 뺏을때 음수가 나오면 종료하고 -1을 출력한다. 연료에서 1번을 뺏을때 양수면 다시 2번을 빼고 뺏을때 음수면 종료하고 -1을 출력한다. 종료가 안됐으면 연료에 2번 *2 를 더한다. 모든 사람을 태웠으면 종료하고 남은 연료를 본다. import math from collections import deque n, m, energy = map(int, in..
구현, 시뮬레이션 문제이다. 이 문제는 특정 알고리즘을 사용하는 것이 아닌 모든 경우에 대해서 완전탐색을 하면된다. 구할 수 있는 모든 경우의 경계선을 구하고 5개의 구역의 최대 인구와 최소 인구의 차를 구한다. 조건과 인덱스만 잘 확인해주면 쉽게 풀 수 있다. 이 문제는 인덱스가 1,1 ~ n, n까지다. import math n = int(input()) a = [list(map(int, input().split(' '))) for _ in range(n)] answer = math.inf def div_area(): for i in range(n): for j in range(n): x, y = i, j for d1 in range(1, n - 1): for d2 in range(1, n - 1):..
DP 또는 완탐으로 풀수 있다. 완탐으로 문제를 해결하였다. 해당 숫자의 int(제곱근)부터 해당 숫자 - int(제곱근)^2 의 제곱근-1까지 반복문을 돌려서 확인하였다. 사실 그냥 해당 숫자의 int(제곱근)부터 0까지 돌려도 풀린다. import math n = int(input()) answer = 4 def solve(): global answer, n sqrt = int(math.sqrt(n)) for i in range(sqrt, int(math.sqrt(n - sqrt ** 2)) - 1, -1): n -= i ** 2 if n == 0: answer = min(1, answer) sqrt2 = int(math.sqrt(n)) for j in range(sqrt2, int(math.sqrt..
수빈이가 다음 장소로 갈 경우는 3가지이다. x-1, x+1, 2x 하지만 x-1, x+1 의 경우는 시간이 1초가 걸리고 2x 는 0초가 걸린다. 즉 다익스트라 알고리즘을 사용하여 문제를 풀 수 있다. ( 각 경우로 갈 시간이 같다면 Bfs로 풀 수 있다. ) import heapq import math n, k = map(int, input().split(' ')) dist = [math.inf] * 100001 dx = [-1, 1, 2] p_queue = list() def dijkstra(start): dist[start] = 0 heapq.heappush(p_queue, (dist[start], start)) while p_queue: pop_dist, pop_vertex = heapq.hea..
구현, 시뮬레이션 문제이다. 여기서 생각해 봐야할 것은 1. 어떻게 숫자를 세고 센 숫자를 적은 숫자 부터 넣을것인지 2. 행에 대해서의 계산은 쉽지만 열에 대한 계산을 어떻게 할것인지 이 2가지이다. 1번 이 문제는 사전을 사용하였다. 각 숫자에 대해 key로 사용하였으며 나온 횟수를 value로 사용하였다. 그 후에 value를 기준으로 큰것부터 정렬을 하였다. 사전을 정렬하면 [(key, vlaue)] 형식의 리스트가 나온다. 그 다음으로는 리스트의 값을 pop하면서 다시 새로운 2차원 리스트를 만들어줬다. 2번 이 문제는 일단 열을 보면서 반복을 하는데 새로운 2차원 리스트의 행에 넣어준다. 그 후에 만들어진 새로운 리스트의 x, y 값을 다시 새로운 리스트를 만들어 y, x 좌표에 넣어준다. r..
구현, 시뮬레이션 문제이다. 여기서 필요한 알고리즘은 BFS, BackTracking이다. BFS는 궁수가 최단 거리에있는 적을 죽일때 필요하며 BackTracking은 궁수의 배치에대한 조합을 구할때 필요하다. 궁수는 3명을 배치한다. 즉, 열의 개수가 m 이기 때문에 mC3 의 조합이 필요하다 두개의 알고리즘을 사용하고 실수만 하지 않으면 풀수 있을 것이다. import heapq from collections import deque n, m, d = map(int, input().split(' ')) graph = [list(map(int, input().split(' '))) for _ in range(n)] visitied = [False] * m max_kill = 0 def combinati..