본문 바로가기

전체 글345

[백준] 1039 교환 파이썬 https://www.acmicpc.net/problem/1039 1039번: 교환 첫째 줄에 정수 N과 K가 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, K는 10보다 작거나 같은 자연수이다. www.acmicpc.net 이 문제가 bfs라고..? 하면서 풀이를 봤다 숫자이긴 하지만 어쨌든 문자열이고, 교환을 통해 완전 탐색을 진행해야 한다는 점에서 bfs를 사용한 것으로 보인다. 풀이를 보고 나니, 어렵지 않은 코드였다. 그냥 알고리즘 자체가 생각이 안 났음..ㅠ 그런데 풀이를 보다가 시간복잡도에 대한 의문이 들었다. import sys from collections import deque N, K = map(int, sys.stdin.readline().split()) def bf.. 2023. 7. 11.
[백준] 1508번 레이스 https://www.acmicpc.net/problem/1508 1508번: 레이스 첫째 줄에 N, M, K가 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, M은 K보다 작거나 같은 자연수이다. 또, K는 2보다 크거나 같고, 50보다 작거나 같다. 둘째 줄에 심판이 있을 수 있는 K개의 www.acmicpc.net 이런 류의 문제는 이분탐색을 써야겠다고 생각했지만 코드로 구현해내지 못했다. import sys N, M, K = map(int, sys.stdin.readline().split()) loc = list(map(int, sys.stdin.readline().split())) start = 0 end = loc[-1] - loc[0] def check(mid): now = -.. 2023. 7. 10.
[백준] 1826번 연료채우기 https://www.acmicpc.net/problem/1826 1826번: 연료 채우기 첫째 줄에 주유소의 개수 N(1 ≤ N ≤ 10,000)가 주어지고 두 번째 줄부터 N+1번째 줄 까지 주유소의 정보가 주어진다. 주유소의 정보는 두개의 정수 a,b로 이루어 져 있는데 a(1 ≤ a ≤ 1,000,000)는 성경 www.acmicpc.net 로직조차 생각이 잘 나지 않았던 문제 (연료의 위치, 채울 수 있는 연료의 양)을 리스트에 담아 연료 위치 순으로 sort한다. heap에는 현재 연료양으로 지나갈 수 있는 위치들이 연료들을 최대힙으로 담는다. 만약 현재 연료양으로 지나갈 수 없는 위치라면, 그 이후는 다 지나갈 수 없으니까 일단 해결하고 봐야한다. 그래서 while heap문으로 연료양을 채.. 2023. 7. 10.
ConnectionPool과 JPA HikariCP 개념 먼저, ConnectionPool - 커넥션 풀은 데이터베이스와 연결된 커넥션을 미리 만들어 놓고 이를 pool로 관리하는 것이다. 즉, 필요할 때마다 커넥션 풀의 커넥션을 이용하고 반환하는 기법이다. - WAS는 데이터베이스 커넥션이 필요할 때 직접 커넥션을 생성하지 않고, ConnectionPool Container로부터 커넥션을 하나 건네받고, 사용을 마치면 반납한다. -> DB 연결을 열고 닫는 비용을 절약할 수 있다. ConnectionPool 장점 - 미리 커넥션을 생성하여 저장하므로, 항상 연결을 열린 상태로 유지하기 때문에 커넥션이 필요한 시점에 생성하는 시간을 소비하지 않는다. - 커넥션 수를 제한할 수 있어서 과도한 접속으로 인한 서버 자원 고갈을 방지할 수 있다. - 생성된 Conne.. 2023. 7. 9.
Wrapper Class: int와 Integer SpringBoot 프로젝트 진행 중 JPA Entity를 설계할 때 int가 아닌 Integer로 하는 것을 보고 그 차이가 정확히 무엇인지, 왜 쓰는지, 어떤 경우에 어떤 것을 쓰는게 좋은지 정리해보고자 한다. 자바의 데이터 타입 1) primitive type - 정수, 실수, 문자, 논리형의 실제 데이터 값 저장 - boolean, byte, short, int, long, float, double, char - 실제 값만 저장하기 때문에 스택 메모리에 저장된다. - 기본값이 설정되어있기에(boolean -> false, int -> 0,,,) Null로 초기화할 수 없다. 2) reference type - Array, Enum, Class, Interface - 객체의 주소를 저장. 메모리 번.. 2023. 7. 9.
vscode black formatter 세팅하기 poetry 가상환경을 사용하고 있다. - poetry add black 만약 가상환경이 아니라면 - pip install black vscode setting에 들어가서 formatting provider 검색 후 black으로 바꿔준다. 파일을 저장할 때마다 formatting하는 것을 원한다면 위의 상태에서 오른쪽 상단에 있는 이 아이콘을 클릭해 settings.json을 열어서 다음과 같은 코드를 덧붙인다. "python.formatting.provider": "black", "python.formatting.blackArgs": ["--line-length", "100"], "editor.formatOnSave": true, 참고 https://lovedh.tistory.com/entry/vsc.. 2022. 10. 3.