https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr import java.util.*; import java.util.stream.Collectors; class Solution { public int[] solution(String s) { Tuple tuple = new Tuple(s); return tuple.mappingCountToChunks().get..
https://programmers.co.kr/learn/courses/30/lessons/17677?language=java 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 문제 접근 쓴 자료형 Map 단어들의 집합을 표현할 때 중복되는 것도 고려해야하는 문제를 어떻게 효율적으로 해결할까 고민하던 중 맵 자료형을 쓰면 좋을 것 같아서 사용하였다. 단순히 리스트를 사용하기에는 시간 복잡도 면에서 손해보는 것이 있기 때문에 Map 자료형이 더 탁월한 것 같다. Set 이 문제의 핵심 자료형..
https://programmers.co.kr/learn/courses/30/lessons/60058?language=java 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr import java.util.*; class Solution { public String solution(String p) { Parenthesis parenthesis = new Parenthesis(); return parenthesis.getValue(p); } public static class Parenthesis { publi..
https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr import java.util.*; class Solution { public String[] solution(String[] orders, int[] course) { Restaurant restaurant = new Restaurant(orders, course); return restaurant.checkCourseMenu().getCandidateMenu(..
필자는 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..
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
자바에서 추상화 할 수 있는 방법은 추상화 클래스(abstract class)와 인터페이스 두가지 방법이 있다. 그렇다면 전자와 후자 둘 중 어떤 방법이 더 좋은 방법일까? 바로 인터페이스다. 그러한 이유를 설명해보도록 하겠습니다. 추상화 클래스 인터페이스 상속 갯수 1 N 확장성 이미 구현되어 있는 클래스에서 추상화클래스를 추가할려고 했을 때에는 기존 클래스가 이미 상속받고 있는 지 그리고 이미 명시되어 있는 메소드와 겹쳐 있는 지 확인해야 하는 작업이 필요하다. 추상화 클래스와 다르게 기존 클래스에서 상속받고 있는 지 확인하지 않아도 된다. 인터페이스의 메소드와 기존 클래스 메소드에서 겹친 것이 있더라도 오버라이딩 되면서 문제가 발생하지 않는다.(1) 방향 수직적 수평적 심지어 인터페이스에서 JDK1..
- Total
- Today
- Yesterday
- 자바
- ubuntu
- Java
- headers
- docker-compose
- 면접
- 그래프
- Pattern
- BFS
- 카카오
- docker
- PostgreSQL
- env
- Collections
- postgres
- django
- Celery
- 알고리즘
- Spring
- Command Line
- 2021 KAKAO BLIND RECRUITMENT
- Linux
- 백준
- thread
- Python
- 파이썬
- DRF
- setattr
- dockerignore
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |