전체 글 (124) 썸네일형 리스트형 ERGO K860 인체 공학 키보드 후기 키보드가 오래되어서 바꿀 때가 되어서, 알아보던 중 인체 공학 키보드가 있다는 것을 알게 되었다. 손목이 아픈 것은 아니었지만, 평소에 키보드를 많이 쓰기 때문에 앞으로를 생각해서 ERGO K860을 구매하게 되었다. ㅠ가 왼쪽에 위치 하고 있기 때문에 적응을 하는데 시간이 걸린다는 후기들을 보았는데, 직접 사용해보니 ㅠ를 많이 사용하지 않아서 크게 문제 되지는 않았다. 손목 받침이 부들부들한 촉감이라, 편안하게 손을 두고 사용할 수 있다. 일체형이라 나중에 세척이 힘들 것이라 조금 걱정이 된다. 신고 결과 받기 - 2022 Kakao Blind Recruitment reportMap에 신고 당한 사람을 key로 신고한 사람들을 set으로 값을 저장해준다. set으로 저장하는 이유는 여러번 신고한 것을 무시하기 위함이다. function solution(id_list, report, k) { var answer = []; var reportMap = new Map(); let mailCntMap = new Map(); id_list.forEach(id =>{ reportMap.set(id, new Set()); mailCntMap.set(id, 0); }); report.forEach(line => { let spt = line.split(" "); let reporter = spt[0]; let reportee = spt[1]; reportMap.get(report.. C. Rooks Defenders - Codeforces Round #791 (Div. 2) 공격을 받게 되는지 아닌지 체크를 할 때, 일일히 row와 column들을 확인하게 되면, 시간초과가 나게 된다. 그래서 segment tree를 이용해서 row 또는 column에 있는 룩의 개수를 확인해주면 된다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; public class Main { public stat.. C. Binary String - Educational Codeforces Round 128 (Rated for Div. 2) Binary Search를 사용하는 문제입니다. 삭제된 1의 개수와 남아있는 0의 개수 중 큰 값의 최소값을 찾아야됩니다. 삭제하는 1의 개수를 binary search로 찾아야됩니다. 1을 삭제하면, 뒤에 있는 0들도 같이 지우는 것이 이득입니다. 그래서 1을 하나 지울 때 지워지는 0의 개수들을 저장해둡니다. 앞과 뒤 양방향에서 지울 수 있으므로 배열 2개를 이용해서 지워지는 0의 개수들을 저장해둡니다. 이제 binary search로 삭제하는 1의 개수를 찾습니다. import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; import java.util.stream.Collec.. sum 에 wrapper class를 쓰면? 0부터 Integer.MAX_VALUE까지 더한 결과를 구하는 프로그램을 만든다고 가정하자. 더한 결과를 저장하는 변수를 sum이라고 할 때, sum을 Long 으로 하는 것과 long으로 하는 것에는 차이가 난다. Long sum = 0L; 으로 선언하게 되면, sum의 값이 바뀔 때마다 새로운 객체가 생성되어 성능이 느려지게 된다. 실제로 아래 코드로 테스트를 해보니, Long의 경우는 6.2초 long의 경우는 0.79초로 long의 성능이 더 좋은 것을 확인할 수 있었다. public class Main { public static void main(String[] args) { long time1 = System.currentTimeMillis(); Long sum1 = 0L; for (long.. JPA 엔티티 매니저 팩토리와 엔티티 매니저 요청이 올 때마다 엔티티 메니저를 생성한다. 영속성 컨텍스트 - 엔티티의 라이프 사이클을 관리하는 곳이다. 1차 캐시라고 생각하면 된다. EntityManager안에 PersistenceContext가 1:1매핑된다. 비영속 상태 - 생성만한 상태 영속 상태 - 관리되는 상태 준영속 - 관리가 안되도록 분리한 상태 삭제 - 객체를 삭제한 상태 1차 캐시는 찰나의 순간에서만 이득이 있다. 비지니스 로직이 복잡한 경우에는 이점이 있겠지만 전체에서 공유를 하는 것은 2차 캐시이다. 쓰기지연 SQL 저장소 ActionQueue에 변경 사항이 일어났을 때, 수행해야될 SQL들을 쌓아둔다. insert의 경우에는 EntityInsertAction, update의 경우에는 Ent.. 도메인 주도 설계 - 1부 동작하는 도메인 모델 만들기 도메인 : 사용자가 프로그램을 사용하는 대상 영역 모델 : 지식을 선택으로 단순화 하고 의식적으로 구좌한 형태 도메인 모델 : 다이어그램이 전달하고자 하는 아이디어 도메인 주도 설계에서의 모델의 유용성 1. 모델과 핵심 설계는 서로 영향을 주며 구체화된다. 2. 모델은 모든 팀 구성원이 사용하는 언어의 중추다. 3. 모델은 지식의 정수만을 뽑아낸 것이다. 소프트웨어의 본질 토크쇼 편집 예시 -> 재미있는 재촬영본을 사용하는 것 본질이었지만, 편집자는 코트 소매가 나왔기에 완벽하지 못하다고 판단하였다. 01 지식 탐구 1. 모델과 구현의 연계 2. 모델을 기반으로 하는 언어 정제 3. 풍부한 지식이 담긴 모델 개발 4. 모델의 정제 5. 브레인스토밍과 실험 2022 KAKAO 블라인드 채용 - 주차 요금 계산 (Java 풀이) OUT일 경우에는 같은 차량번호의 IN을 찾아야하는데, 나는 map을 이용해서 IN의 시각을 저장해주었다. OUT시각과 IN시각을 분 단위로 변경해준후에 map에 해당 차량번호의 주차시간 누적합을 저장해주었다. 요금 계산은 주차시간이 기본 시간보다 못미치는 경우에는 기본요금을, 초과하는 경우에는 문제에 나온대로 계산해서 추가해주었다. import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; class Solution { public Integer getMinutes(String time) { String[] spt = time.split(":"); Integer hours = Integ.. 이전 1 2 3 4 5 6 7 8 ··· 16 다음