필자는 Map 인터페이스를 구현하고자 할 때 보통 HashMap을 사용한다. 근데 그 이유를 모르고 써서 이번에 알아보려고 한다. 1. 부모 클래스 - AbstractMap.java AbstractMap은 디자인 패턴 중에 템플릿 패턴을 사용하였으며, 자바 이팩티브 저자가 말하길 SkeletonMap과 같이 Skeletonxxx 와 같은 네이밍이 더 적절하다고 생각했지만 이미 다른 곳에서 Abstract으로 썼기에 그렇게 사용했다고 한다. 2. 인터페이스 - Map, Clonable, Serializable 1. Map 컬렉션 인터페이스 중 하나로서 해쉬 형태의 추상클래스로서 역할을 한다. 다른 컬렉션 인터페이스와 차이점이 있다면 inner interface인 Entry가 있다는 것이다. Entry인터페..
https://programmers.co.kr/learn/courses/30/lessons/1835 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr class Solution { public int solution(int n, String[] data) { GroupPicture picture = new GroupPicture(data); return picture.getAnswer(); } public static class GroupPicture { private final String[] relati..
필자는 해당 기능을 구현하는 것 중에서 유저의 필드 중 특정 부분만 업데이트를 해주는 서비스가 있었습니다. 그래서 테스트케이스에서 응답에 대하여 해당 필드 값을 반환을 안해줘서 이에 대한 체크를 못했던 것이 컸던 것 같다. 변경 전 코드 @Transactional public Message clickAlarmToggle(Account account, Boolean on) { account.setIsAlarm(on); return Message.of(StatusEnum.ACCOUNT_OK,AccountContent.CHANGE_ALARM_TOGGLE); } public static Account getAccount() { PrincipalDetails principal = (PrincipalDetails)..
https://programmers.co.kr/learn/courses/30/lessons/1829?language=java# 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr import java.util.*; class Solution { public int[] solution(int m, int n, int[][] picture) { long[][] newPicture = new long[m][n]; for (int i = 0; i
https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 문제 접근 방법 해당 문제는 전형적인 해쉬 문제 입니다. 들어온 정보에 대해서 미리 해쉬로 저장하고 나서 값을 뿌려줄 때 해당 값을 뿌려주면 됩니다. import java.util.HashMap; import java.util.Map; class Solution { public String[] solution(String[] record) { Participan..
https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 접근 방식 Brute Force 이전에는 문제를 풀 때 절차적으로만 작성을 했었는데 최대한 객체지향적으로 풀어야 겠다고 생각하게 된 계기는 유튜브 개발바닥 에서 나온 사람들의 공통점으로 코드를 얼마나 객체지향적으로 풀었는 지를 본다고 했기에 이전에 풀었던 내용들을 최대한 객체지향적으로 풀려고 노력했다. public class Solution { publi..
1. notify @IntrinsicCandidate public final native void notify(); Wakes up a single thread that is waiting on this object's monitor. If any threads are waiting on this object, one of them is chosen to be awakened. The choice is arbitrary and occurs at the discretion of the implementation. A thread waits on an object's monitor by calling one of the wait methods. The awakened thread will not be abl..
- Total
- Today
- Yesterday
- Command Line
- 면접
- env
- 프로그래머스
- thread
- 자바
- PostgreSQL
- BFS
- Collections
- Python
- 파이썬
- setattr
- docker
- 그래프
- django
- 백준
- DRF
- docker-compose
- Linux
- dockerignore
- 2021 KAKAO BLIND RECRUITMENT
- 알고리즘
- 카카오
- Spring
- postgres
- Celery
- headers
- Java
- Pattern
- ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |