분류 전체보기 645

[파이썬] 11047. 동전 0

문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 예제 입력 1 10 4200 1 5 10 50 100 500 1000 5000 10000 50000 예제 출력 1 6 예제 입력 2 10 4790 1 5 10 50 ..

coding test 2022.11.15

[파이썬] 9663. N-Queen

문제 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N < 15) 출력 첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 예제 입력 1 8 예제 출력 1 92 🔥 나의 풀이 # N * N인 체스판에서 N개의 퀸이 가로 or 세로 or 대각선으로 서로 공격할 수 없게 놓는 방법의 수를 구하는 문제 # 백트래킹 # 이전에 놓은 퀸과 대각선으로 위치하면 return # visit을 N개 만큼 열을 만들고 값으로 행을 넣는다 N = int(input()) visit = [-1] * N answer = 0 # 이전에 놓은 퀸..

coding test 2022.11.10

N+1 문제

N+1 문제 처음 실행한 SQL의 결과 수만큼 SQL을 더 실행한다. 즉시 로딩과 N+1 JPQL을 실행하면 JPA가 즉시 로딩/지연 로딩에 대해 신경쓰지 않고 SQL을 생성한다. 회원과 댓글이 1:N 양방향 연관관계라면, 회원을 조회했을 때 댓글도 조회된다. 조회하는 회원이 많으면 댓글도 그만큼 조회된다. SELECT * FROM MEMBER; SELECT * FROM COMMENTS WHERE MEMBER_ID=1; SELECT * FROM COMMENTS WHERE MEMBER_ID=2; SELECT * FROM COMMENTS WHERE MEMBER_ID=3; 지연 로딩과 N+1 즉시 로딩과 다르게 JPQL에서 N+1 문제가 발생하지 않는다. 회원과 댓글이 1:N 양방향 연관관계라면, 모든 회원에..

ORM/JPA 2022.10.27

트랜잭션

⭐ 트랜잭션 DB 상태를 변환시키는 한 번에 수행되어야 할 일련의 연산 수행 단위 작업을 수행하던 도중 문제가 발생하면 이전에 진행되었던 작업도 취소됨 Rollback 트랜잭션이 비정상적으로 종료되면 모든 연산을 취소해서 DB에 반영하지 않음 커밋 트랜잭션의 작업이 정상적으로 끝나면 DB에 반영 성질 Atomicity 하나의 트랜잭션은 최소의 단위 Consistency 트랜잭션의 일부가 DB에 commit되었을 때 트랜잭션의 범위에 있는 다른 연산들도 commit 되는 것을 보장 Isolation 다른 트랜잭션의 연산작업이 기존 작업에 영향을 주지 못한다. Durability 트랜잭션을 처리한 후 DB에 반영된 내용은 영원히 지속됨 상태 Active 진행 중 Partially Committed 연산을 모..

CSR | SSR

SPA MPA 브라우저 안에서 작동하는 앱 사용하는 동안 페이지 리로딩을 필요로 하지 않는다. 렌더링 방식은 CSR 컨텐트가 변할 때마다 페이지 리로드가 필요하다. 렌더링 방식은 SSR CSR SSR SSG Client Side Rendering 요청을 단일 HTML 파일로 리디렉션하면 서버는 모든 JavaScript를 가져오고 브라우저가 내용을 렌더링하기 전에 모든 내용을 컴파일할 때까지 아무런 내용(또는 로드 화면) 없이 해당 요청을 전달 🔥 장점 화면 깜빡임이 없다. 초기 로딩 이후 구동 속도가 빠르다. TTV와 TTI 사이 간극이 없다. 서버 부하 분산 👻 단점 초기 로딩 속도가 느림 SEO에 불리하다. Server Side Rendering 서버의 안정적인 인터넷 연결을 사용하여 데이터를 가져오..

FE/html 2022.10.25

Sharding

Sharding을 왜 할까? 과거에는 CPU 또는 Memory 사이즈를 증설하여 성능 이슈를 해결 최근 Web 서비스에서 데이터 사이즈가 급증 ➡️ 서버 성능 고도화만으로는 한계가 있다. 다수 장비에 데이터를 분산 위치하여 데이터를 처리하는 Sharding을 하게 됨 Sharding 크게 분할과 복제로 나눈다. 대규모 데이터베이스를 더 작고 빠르고 더 쉽게 관리되는 부분으로 분리 shard는 전체의 작은 부분 논리 shard가 다른 노드에 저장되면 물리적 shard다. 하나의 물리적 shard는 다수의 논리적 shard를 포함할 수 있다. shard는 자율적이고 같은 데이터나 컴퓨팅 자원을 공유하지 않는다. 모든 shard의 데이터는 논리적 데이터 집합을 나타낸다. Sharding의 장점 데이터베이스 확..

DB 2022.10.17

img 태그 엑박

src 경로가 잘못되어서 or Spring Security에서 차단 🌿 해결 1. 이미지 파일을 static 폴더로 옮겼다. 이미지를 사용하는 HTML 파일이 templates/user 아래에 있었다. 나의 경우는 파일 구조가 아래와 같았다. resources static 이미지.png templates user 파일.html 2. Spring Security 설정에서 antMatchers().permitAll()에 "/*"를 추가했다. 참고 👇 https://stackoverflow.com/questions/44455900/spring-security-login-page-images Spring security login page - images i'm a newbie. I'm trying to dev..

FE/html 2022.10.11

CORS

SOP Same Origin Policy 다른 출처의 리소스를 사용하는 것에 제한을 두는 보안 방식 Protocol, Host, Port가 같으면 같은 출처다. ex) http://localhost:80과 http://localhost는 같다. CORS Cross-Origin Resource Sharing 추가 HTTP header를 사용해 한 출처에서 실행 중인 web applicaion이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여 pre-flight 요청은 쿠키(JSESSIONID)가 포함되지 않으므로 CORS는 Spring Security 전에 실행되어야 한다. 요청에 쿠키가 포함되지 않고 Spring Security가 먼저라면 사용자가 인증되지 않았다고 판단하고 거절한다. CORS가 ..

Web 2022.10.07