분류 전체보기

https://www.acmicpc.net/problem/1106 1106번: 호텔 첫째 줄에 C와 형택이가 홍보할 수 있는 도시의 개수 N이 주어진다. C는 1,000보다 작거나 같은 자연수이고, N은 20보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 각 도시에서 홍보할 때 www.acmicpc.net 풀이 방법 다이나믹 프로그래밍 문제이다. 구해야 하는 것이 '적어도 C명을 늘이기 위한 최소 비용' 이다. 따라서 dp[i] 를 i명을 늘이기 위해 필요한 최소 비용으로 설정하였다. 그리고 for문으로 입력받은 홍보 비용과 고객 수를 순회하면서 해당 홍보 비용을 사용하여 만들 수 있는 모든 고객 수에 대해 dp 값을 갱신해주도록 한다. 현재 홍보 비용을 cost, 늘릴 수 있는 고객 수를 nu..
· JPA
jpa 공부를 하던 중 의문이 생긴 지점이 있다. 먼저, 코드를 보면 Member 엔티티를 다음과 같이 생성하여 db 에 저장한 후 다시 찾아오려고 하였다. 문제 상황 Member member = new Member(); member.setUserName("AAA"); em.persist(member); // 영속화 em.flush(); // db 반영 em.clear(); // 영속성 컨텍스트 초기화 Member findMember = em.find(Member.class, member.getId()); // Member 찾기 의문점 위 코드를 보면 flush 하여 db 에 Member 엔티티를 저장해준 후 clear 하여 영속성 컨텍스트를 초기화시켰다. 영속성 컨텍스트를 초기화했다면 1차 캐시에 있던..
https://www.acmicpc.net/problem/2459 2459번: 철사 자르기 가로 줄과 세로 줄의 개수가 각각 N인 바둑판 모양이 있다. 여기에서 인접한 두 가로줄 또는 두 세로줄 사이의 거리는 1이다. 또한, 가로줄과 세로줄이 만나서 생기는 교차점은 왼쪽에서 x번째 세 www.acmicpc.net 풀이 방법 처음엔 격자판을 생성하여 교차점을 지나가는 곳마다 체크해준 후 길이를 구해주어야 하나 생각했지만, 철사가 겹쳐지는 것은 어떻게 구분할 것이며.. 어떤 길을 따라왔는지 구분이 매우 힘들 것 같아 이 방법은 아니라고 생각했다. 그래서 순서대로 교차점을 지나면서 그때 그때 철사 조각을 생성해주는 방법으로 구현했다. 철사 정보는 Wire 클래스를 생성하여 철사 조각의 길이를 저장해주도록 하였..
https://www.acmicpc.net/problem/20665 20665번: 독서실 거리두기 첫 번째 줄에 독서실 좌석의 개수 N, 독서실 예약자 수 T, 민규가 좋아하는 좌석 번호 P 가 공백으로 구분되어 주어진다. (1 ≤ N ≤ 100, 1 ≤ T ≤ 500, 1 ≤ P ≤ N) 다음 T 개의 줄에는 독서실 입실 www.acmicpc.net 풀이 방법 구현, 시뮬레이션 문제이다. 좌석 배정을 위해선 예약 우선순위대로 정렬과 사용 중인 좌석 정보가 필요하다. 예약은 Reservation 클래스를 만들어 시작 시간과 끝나는 시간을 저장하고 객체로 관리할 수 있도록 하였다. 예약 정렬을 위해 우선순위 큐를 사용하여 더 빠른 예약 시간 순, 더 짧은 이용 시간 순으로 정렬할 수 있도록 하였다. 사용 ..
https://www.acmicpc.net/problem/12842 12842번: 튀김 소보루 영선이는 대전에 내려갔다 서울 오는 길에 튀김 소보루 n개를 사왔다. (1 ≤ n ≤ 100,000) 영선이가 SCCC 회원들에게 나누어 주기 위하여 001에 두고 잠깐 나갔다 온 사이에 온전한 튀김 소보루는 s www.acmicpc.net 풀이 방법 우선순위 큐를 사용하여 풀었다. 빵은 먼저 다 먹은 순서대로 빵을 다시 집어서 먹을 수 있으며, 만약 동시에 먹게 된다면 작은 번호인 사람이 우선으로 집게 된다. 따라서, 빨리 먹은 순, 작은 번호 순을 우선순위 기준으로 하는 우선순위 큐를 생성하여 s개의 빵이 남을 때까지 차례대로 꺼내주는 방식으로 구현하였다. 이때, Person 이라는 클래스를 만들어 사람 번..
l_h_i
'분류 전체보기' 카테고리의 글 목록