전체 글 (84) 썸네일형 리스트형 현대 오토에버 24.06.29 현재 회사에 새로 입사한 K명의 신입 사원들에게 보급품이 N개 주어지는데 각 보급품은 무게와 가치가 있어. 총 무게를 M 만큼 담을 수 있는 가방이 있어. 최대 가치를 구하게 해줘. 각 가방은 정해진 무게 M을 초과할 수 없고, 보급품은 쪼개서 담을 수 없어. 1첫 줄은 N, K, M 이고이후 N개의 줄에 W, V가 주어져입력 예시5 2 54 53 42 15 7 1 1 정답 13 package com.example.algorithm;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;import java.util.StringTokenizer;public class hd_2 { public .. 근데 왜 100만 length 의 int 배열을 깊은 복사를 했는데 1,000,000 * 4 인 400만 byte가 나오지 않고 3650352 byte만 차이가 날까요? 1. JVM의 최적화JVM은 메모리를 효율적으로 관리하기 위해 여러 최적화 기법을 사용합니다. 특히, 가비지 컬렉션의 동작 방식과 메모리 할당 정책은 JVM 구현에 따라 다를 수 있습니다. 따라서 예상한 대로 정확히 4000000 바이트가 사용되지 않을 수 있습니다.2. 배열의 메모리 할당 정책배열은 JVM에서 메모리를 할당할 때 일정한 정책을 따릅니다. 예를 들어, 일부 JVM 구현에서는 배열을 효율적으로 관리하기 위해 추가적인 최적화를 수행할 수 있습니다. 이는 예상과 다른 메모리 사용량 결과를 초래할 수 있습니다.3. 객체 헤더와 메타데이터객체의 헤더와 메타데이터도 메모리에 영향을 미칩니다. 특히, 객체 헤더와 클래스 포인터 등의 오버헤드는 각 객체마다 차지하는 메모리 양을 늘립니다. 이 추가적인 .. 까먹은 걸 알고리즘을 풀다가 알게된 얕은 복사 VS 깊은 복사 https://www.acmicpc.net/problem/19236 static Fish[][] copyMap(Fish[][] map) { Fish[][] copy = new Fish[4][4]; for (int i = 0; i 두 부분에서 차이가 났다. static Fish[][] copyMap(Fish[][] map) { Fish[][] copy = new Fish[4][4]; for (int i = 0; i 두 코드 모두 2차원 배열을 복사하지만, 그 방식이 다릅니다. copy[i] = map[i].clone()는 얕은 복사,copy[i][j] = new Fish(map[i][j].num, map[i][j].dir) 깊은 복사를 수행합니다. 얕은 복사 vs. 깊.. Git flow 전략 도입기 2024-04-06 ~ 2024-05-21 까지 SSAFY에서 진행했던 숨구멍 프로젝트에서 Git flow 전략을 도입했던 기록을 남기고자 합니다! 우선 Jira를 이용해 1주일간격으로 스프린트를 관리하고 프로젝트를 진행했습니다!Jira Convention에픽[BE][FE][INFRA]스토리[BE] api명세서 브랜치 전략 - git flowmaindevelopfrontend{이슈번호}_{내용}ex) feat/#{이슈번호}-내용backend{이슈번호}_{내용}ex) feat/#{이슈번호}-내용Git flow를 적용하기에 앞서 Git 컨벤션을 정할 때 우리는 우아한 기술블로그를 참조해 (https://techblog.woowahan.com/2553/ ) 아래와 같은 약속을 했습니다. 작업을 시작하기 전에 .. [Git] git pull 충돌 에러 (Your local changes to the following files would be overwritten by merge) 프로젝트 진행중에 Git pull로 변경사항을 먼저 가져온 후에 push 하기 위해 pull 명령어를 실행했을 때 충돌 에러가 났다. remote 소스와 로컬 소스 사이에 충돌이 일어났을때 발생하는 오류이다. 해결 방법은 ``` Please commit your changes or stash them before you merge. ``` 에 있다. merge 전에 commit 또는 stash를 하라는 뜻이다. Stash 명령어는 "로컬 변경 사항을 임시 저장 해두는 명령어" 이다. git stash 를 통해 내가 수정한 내용은 스택에 임시저장 git pull origin 로 git 최신 소스 다운 ( origin 브랜치(remote)의 내용을 main브랜치로 가져온다) git stash pop 으로 변.. 팩토리 메서드 of를 사용하는 이유(계속 업데이트) 위와 같은 코드가 있을 때, Dto로 바꿔주는 메서드를 다른 클래스에 넣을 필요도 없고, Request 객체를 만들었을 때 재활용하여 파라미터를 외부에서 하나만 받고 만들어 줄 수 있습니다. 이렇듯 일반적으로 이런 형태의 메소드는 생성자를 대체하기 위해 사용되며, 메소드 이름 자체가 객체 생성에 필요한 매개변수를 표현하도록 지어진 경우가 많습니다 이렇게 메소드를 사용함으로써 객체 생성 시 가독성이 향상되고, 객체 생성 과정에 대한 추가적인 유효성 검사나 변환 작업 등을 수행할 수 있습니다. SQL 오류 (1452): Cannot add or update a child row: a foreign key 참조받는 테이블의 데이터를 먼저 삽입해서 발생한 오류입니다. 인증 정보를 아직 구현하지 않아서 하드코딩으로 미리 값을 넣어놨었는데 저는 새로운 컬럼을 만들었을때 설정을 잘못해서 부모키인 user_id이 가질 수 있는 값이 아닌 값을 넣었기 때문에 외래키 제약 조건을 충족하지 못한 것입니다. 참조무결성에 따라 참조키는 항상 부모키에 해당하는 값만 넣을 수 있습니다. 우선 인증 정보를 넣기 전까지는 data.sql에 넣어줬던 정보랑 맞춰주어야 합니다 . [백준] 1026 - 보물 - JAVA[자바] (feat. B 재배열 X, B sort X) [접근 방법] "B에 있는 수 를 재배열하면 안 된다" 라는 말에 꽂혀 여러 방법으로 풀어보게 되었다. B에 있는 수를 재배열하면 안된다는 말은 1. 단순히 "Sort하면 안된다." -> B의 배열을 손상시키면 안된다. Arrays.sort(B)를 하면 B는 sort 된 상태로 남아있게 되므로 B에 있는 수를 재배열하는 것이다 가장 나쁜 풀이라고 평가 하고 싶다. 개인적 평가: 1.0 / 5.0 근데, 구글에 검색해보니 해당 방법을 10중 8, 9 분이 사용하고 계신것 같다. 왤까.. import java.io.IOException; import java.io.InputStreamReader; import java.io.BufferedReader; import java.util.Arrays; import.. 이전 1 2 3 4 ··· 11 다음