Development (155) 썸네일형 리스트형 [PS] 백준 1766 문제집 java 풀이 1766번: 문제집 (acmicpc.net)처음 틀린 풀이와 코드배열을 만들어서 각 인덱스에 먼저 풀어야되는 문제 값을 넣고그 배열을 순회하면서 먼저 풀어야하는 문제가 있으면 먼저 출력,나중에 먼저 풀었던 문제는 순회에서 넘어감 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int[] arr = new int[N + 1]; int numOfGood = Integer.parseInt(st.nextToken()); // 먼저풀어야함 나중.. [Reflection] ㄷㄷㄷ: Domain Driven Design과 적용 사례공유 / if(kakao)2022 ㄷㄷㄷ: Domain Driven Design과 적용 사례공유 / if(kakao)2022 (youtube.com)이 글에서는 위 동영상의 내용을 보고 공부한 내용을 기록합니다.Domain Driven Design도메인 드리븐 디자인(Domain Driven Desion)이란 소프트웨어 개발 방법론 중 하나로, 단순히 데이터나 기술적인 요소에 집중하는 것이 아닌 도메인 모델에 초점을 맞추어 설계를 진행하는 방식이다. 도메인이란 비즈니스의 핵심 개념과 규칙을 담고 있는 영역으로, 소프트웨어가 다루는 비즈니스의 실제 요구사항을 의미한다. DDD는 이러한 도메인을 정확하게 반영하는 소프트웨어를 설계하고 개발하는 데 중점을 둔다.Domain Driven Design의 특징 도메인의 모델과 로직에 집중: DDD는.. [Diary][Spring] N + 1 문제 해결을 위한 @EntityGraph를 사용할 때 주의할 점 N+1 문제 해결을 위해 적용하신 @EntityGraph의 경우, @EntityGraph를 설정할 때 필요 이상의 연관 엔티티들을 함께 로딩하게 되면 불필요한 데이터가 메모리에 적재되어 성능 저하를 유발할 수 있습니다.아래 글에서 N + 1 해결 방법으로 @EntityGraph를 사용하는 것을 선택했는데, 위와 같은 피드백을 받았습니다. [Diary] Spring ORM에서는 N + 1을 항상 신경쓰자. (tistory.com) [Diary] Spring ORM에서는 N + 1을 항상 신경쓰자.프로젝트를 진행하다가 드디어 N + 1을 마주치는 상황이 생겼습니다. 사실 이 문제가 정확히 언제 발생할 수 있는지 이해가 안 되었는데, 이렇게 쉽게 마주쳐서 기뻤습니다 후후문제 상황여기 장bezzang2.tist.. [PS] 백준 영화감독 숌 java 풀이 1436번: 영화감독 숌 (acmicpc.net)처음 문제 접근15면 15666인데 16이면 16660이라고??이를 어떻게 구현하지??for 문을 n까지 돌리면서... 6이 나오면.. 자릿수를 바꾸고 거기서 다시 1을 더하는건가..정답보고 문제 이해666을 저장하는 변수를 하나 만들고1씩 더하면서 666을 포함하면 count + 1 count가 N과 같아지면 break나는 15666 을 어떻게 한 번에 16660 을 만드나를 해서 막혔는데..그냥 브루트포스로 15667, 15668,..., 16659,16660 이 때 + 1이런식으로 하는거였구나...한 번에 하지 말고 브루트 포스 방법을 잘 익혀야겠다고 느꼈다..코드import java.io.BufferedReader;import java.io.IOEx.. [Reflection] [우아콘2020] 수십억건에서 QUERYDSL 사용하기 [우아콘 2020] 수십억 건에서 QUERYDSL 사용하기 - YouTube위 동영상에서 일괄 Update 최적화 부분에 대해 느낀 점을 작성합니다.일괄 Update 최적화아래 코드는 우리가 일반적으로 Jpa을 사용해서 user 정보를 update 하는 코드이다.@Transactional public void updateUserNames(List userIds, String newName) { for (Long userId : userIds) { User user = entityManager.find(User.class, userId); // 각 엔티티 조회 user.setName(newName); // 엔티티 값 변경 (더티 체킹) // 트랜잭션 종료 시점에 변경된 모든 엔티티가 자동으로 업데이트아래는.. [Reflection] [우아콘2020] 수십억건에서 QUERYDSL 사용하기 - Select 컬럼에 Entity 자제 [2019] Spring JPA의 사실과 오해 (youtube.com) 이 글에서는 위 동영상에서, Entity 보다는 Dto를 우선이라는 챕터에 대해 느낀 점을 작성합니다. Entity 보다는 Dto를 우선우리가 ORM을 사용하면서 Entity를 조회하는 경우가 많다. Entity를 통째로 가져온다면, N + 1 문제라던가, 불필요한 칼럼까지 가져오는 문제가 발생할 수 있다. 이는 성능 이슈의 요소를 포함한다.따라서 우리는 Entity를 조회할 필요가 있는지 따져볼 필요가 있다.Entity를 수정해야 하는가?단지 데이터의 조회만 필요하는가?조회칼럼 최소화 하기QueryDSL에서는 as 표현식으로 만약 이미 알고있는 정보가 있다면 이를 제거할 수 있다.Select 컬럼에 Entity 자제Entity 자체.. [PS] 프로그래머스 스타 수열 java 풀이 코딩테스트 연습 - 스타 수열 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr초기 문제 접근부분 수열이니까 백트래킹..?length가 6이면 2, 4, 6 으로 길이를 따져서 배열에 모든 조합의 수를 만들고..만들어진 조합으로 스타 수열인지 판별하는 메서드를 구현하면..? 현재 작성된 코드에서는 백트래킹을 사용하여 모든 가능한 부분 수열을 생성하려고 시도합니다. 그러나 이 방법은 매우 비효율적입니다. 특히 배열의 길이가 최대 500,000인 경우, 모든 부분 수열을 생성하고 확인하는 것은 시간 복잡도가 .. [PS] 백준 문자열 폭발 java 풀이 9935번: 문자열 폭발 (acmicpc.net)문제 접근문자열 길이가 1,000,000보다 작으니..nlogN 미만의 시간복잡도를 가지는 풀이를 해야하는 것인가? 문자열을 스택에 넣다가 폭발 문자열과 겹치기 시작하면 넣지말고?완전 일치하면 그 만큼 스택에서 빼고?그런데 빼고나서 다시 폭발 문자열이랑 일치하면 어떻게 검사하지? 다시 처음부터 검사하면 시간 복잡도가 늘어날텐데.. 문제 해결문자열을 하나하나 StringBuilder(sb)에 넣으면서sb의 크기가 폭발 문자열 길이보다 같거나 커지면sb 끝에서 폭발 문자열 길이만큼 뺀 인덱스부터 검사 시작모두 같으면 그 부분만큼 delete다시 1번부터 반복하면, 끝에서부터 폭발 문자열 길이만큼 되돌아가서 검사하기 때문에 중간에 문자열이 삭제되도 다시 검사하게.. 이전 1 2 3 4 5 6 7 ··· 20 다음