분류 전체보기

    [PS] 인프런 강의 - DP 6. 최대점수 구하기(냅색 알고리즘)

    문제 이번 정보올림피아드대회에서 좋은 성적을 내기 위하여 현수는 선생님이 주신 N개의 문제를 풀려고 합니다. 각 문제는 그것을 풀었을 때 얻는 점수와 푸는데 걸리는 시간이 주어지게 됩니다. 제한시간 M안에 N개의 문제 중 최대점수를 얻을 수 있도록 해야 합니다. (해당문제는 해당시간이 걸리면 푸는 걸로 간주한다, 한 유형당 한개만 풀 수 있습니다.) ▣ 입력설명 첫 번째 줄에 문제의 개수N(1

    [PS] 인프런 강의 - DP 5. 동전교환(냅색 알고리즘)

    문제 다음과 같이 여러 단위의 동전들이 주어져 있을때 거스름돈을 가장 적은 수의 동전으로 교환해주려면 어떻게 주면 되는가? 각 단위의 동전은 무한정 쓸 수 있다. ▣ 입력설명 첫 번째 줄에는 동전의 종류개수 N(1

    [PS] 인프런 강의 - DP 4. 가장 높은 탑 쌓기

    문제 밑면이 정사각형인 직육면체 벽돌들을 사용하여 탑을 쌓고자 한다. 탑은 벽돌을 한 개씩 아래에서 위로 쌓으면서 만들어 간다. 아래의 조건을 만족하면서 가장 높은 탑을 쌓을 수 있는 프로그램을 작성하시오. (조건1) 벽돌은 회전시킬 수 없다. 즉, 옆면을 밑면으로 사용할 수 없다. (조건2) 밑면의 넓이가 같은 벽돌은 없으며, 또한 무게가 같은 벽돌도 없다. (조건3) 벽돌들의 높이는 같을 수도 있다. (조건4) 탑을 쌓을 때 밑면이 좁은 벽돌 위에 밑면이 넓은 벽돌은 놓을 수 없다. (조건5) 무게가 무거운 벽돌을 무게가 가벼운 벽돌 위에 놓을 수 없다. ▣ 입력설명 입력 파일의 첫째 줄에는 입력될 벽돌의 수가 주어진다. 입력으로 주어지는 벽돌의 수는 최대 100개이다. 둘째 줄부터는 각 줄에 한 개..

    [PS] 백준 1158번 요세푸스

    문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 풀이 큐를 이용하여 풀었음 코드 import java.util.*; import java.io.*; public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); Strin..

    [Error] Update/delete queries cannot be typed

    [Error] Update/delete queries cannot be typed

    JPQL - EntityManager 로 쿼리 작성중 생긴 문제 update 또는 delete 쿼리를 작성할 수 없다 createQuery() 메서드의 매개변수로 들어가는 Query는 2가지 종류 1. Typed Query: 조회 대상과 반환형이 Entity인 쿼리 2. Query: 조회 대상과 반환형이 Entity가 아닌, 기본형 또는 Wrapper 클래스인 쿼리 update/delete 쿼리는 엔티티를 조회하지도, 반환하지도 않는다. 따라서 일반 쿼리문이므로 .class를 명시하지 않아야 함. 빼주면 해결된다

    테스트용 더미 데이터 넣기 (no entitymanager with actual transaction available for current thread)

    테스트용 더미 데이터 넣기 (no entitymanager with actual transaction available for current thread)

    문제원인 빈 생명주기 콜백 메서드를 사용해서 더미 데이터를 DB에 넣으려고 하니 에러가 뜬다. no entitymanager with actual transaction available for current thread 구글링을 해보니 @PostConstruct에는 직접적으로 @Transactional을 적용할 수 없다고 한다. 그래서 인프런 커뮤니티에 달린 글을 찾아봤는데 찾은 내용이 다음과 같다. @PostConstruct는 해당 빈 자체만 생성되었다고 가정하고 호출됩니다. 해당 빈에 관련된 AOP등을 포함한, 전체 스프링 애플리케이션 컨텍스트가 초기화 된 것을 의미하지는 않습니다. 트랜잭션을 처리하는 AOP등은 스프링의 후 처리기(post processer)가 완전히 동작을 끝내서, 스프링 애플리케..

    javax.persistence.NoResultException: No entity found for query

    javax.persistence.NoResultException: No entity found for query

    에러 로그 문제 원인 @Override public Member findByLoginId(String loginId) { return em.createQuery("select m from Member m where m.loginId = :loginId", Member.class) .setParameter("loginId", loginId) .getSingleResult(); } 쿼리의 결과값이 없을 때가 있을 수 있으니 try catch문으로 NoResultException 예외처리를 해주어야 한다 변경 후 @Override public Member findByLoginId(String loginId) { try{ return em.createQuery("select m from Member m wher..