https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 �� programmers.co.kr 풀이법: 두 가지 리스트를 만들어서 푼다: 1) HashMap 2) PriorityQueue 1)은 만들고 플레이 횟수에 따라 내림차 순으로 정렬한다. 2)는 장르의 개수만큼 만든다. 는 개념적으로 설명을 위해 표기한 것이고 구현할 때는 no, count를 변수로 가진 클래스를 새롭게 정의함(El) 그리고 Comparable 인터페이스를 implement..
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 풀이법: 주어진 입력을 java 해시맵으로 형태로 저장한다. 그 후 조합의 개수를 찾아서 반환한다. Comment: 1) 예를 들어 하의 종류 중 청바지인지 검은 슬랙스인지 그 구체적인 내용은 아무 상관이 없다. 2) 이 문제는 사실 조합의 개수를 찾는 방법이 제일 어려운 부분이다. 공식화 한다면 대충 다음과 같다. 3종류의 의상이 주어진다 하면: 총 경우의 수 = (종류1 개수 + 1) X (종류2 개수 + 1) X (종류3 개수 + 1) - 1 +1의 의미: 예를들어 종류1의 의상이 총 4가지가 있을 경우에 그 중 1가지를 선택하는 경우의 수는..
문제출처: https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 � programmers.co.kr 풀이법: 1) 주어진 3가지 연산자의 우선순위 순열을 구한다. 2) 구한 순열의 각 우선순위에 따라 식 계산함. 3) 계산하는 방법이 좀 지저분하긴 한데 사람이 연산 순위 지키면서 연산하는 방법이랑 똑같이 햇음 Comment: 1) 순열을 dfs로 구하는 법 배움 2) String으로 주어진 수식 계산하는 코드 짜면서 parsing 경험 좀 더 ..
문제출처: https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 풀이법: 그냥 생각대로 풀었다 Comment: 1) 이클립스에서 이 코드는 문제없지만 프로그래머스에선 테스트 케이스 통과 못함 (hands가 매개변수라서) 2) String에서 equals 랑 == 연산자 차이 import java.util...
문제 출처: https://www.acmicpc.net/problem/2667 풀이법: 지도 배열의 모든 칸마다 방문하면서 1 값을 찾을때 마다 dfs를 진행한다. Comment: 1) 입력: 배열 정보를 받을땐 string -> char형 배열 -> int형 배열로 변환하였다. 2) 단지 묶음 구분: 재귀함수 특성을 기억하면 제일 먼저 들어간 dfs함수가 끝난 시점 한 그룹에 대한 dfs가 끝난다는 사실을 알 수 있다. 3) dfs 함수 내 칸 이동 구현: 처음엔 if else if 문으로 오른쪽 이동 > 아래쪽 이동 > 왼쪽 이동 > 위쪽 이동 순으로 할려고 했으나 지도 밖 으로 움직일 시에 대한 예외처리를 함께 하던 중 코드가 계속 꼬이는 문제가 발생하였다. -> 이러한 문제는 칸 이동 전에 칸 이..
문제 출처: https://www.acmicpc.net/problem/2606 풀이법: 인접행렬을 이용한 dfs 알고리즘으로 풀었다. Comment: 1) class 이름을 Main으로 하지 않으면 컴파일 에러가 난다. 2) 인접행렬은 사이즈에 + 1 만큼 행, 열을 생성하는게 편리하다. (방문 노드 체크 행렬도 마찬가지) -> 이유? : 행렬의 인덱스는 0으로 시작하는 반면에 코테 문제에서 나오는 그래프에선 0번 노드가 잘 등장하지 않기 때문. 코드: import java.util.*; public class Main { public static int count = 0; public static void main(String[] args) { // TODO Auto-generated method st..
class Solution { public boolean solution(String[] phone_book) { for(int i = 0; i < phone_book.length; i++){ for(int j = 0; j < phone_book.length; j++){ if(i != j && phone_book[j].startsWith(phone_book[i])){ return false; } } } return true; } } 해시를 사용하면서 얻는 이점을 전혀 모르겠다.
import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { String fail = ""; HashMap answer = new HashMap(); int value = 0; for(int i = 0; i< participant.length; i++){ if(answer.containsKey(participant[i])){ value = answer.get(participant[i]); answer.put(participant[i], value + 1); }else{ answer.put(participant[i], 1 ); } } for(int i = 0; i < complet..
- Total
- Today
- Yesterday
- okhttp3
- 카카오
- digital tree
- PatternSyntaxException
- Java #GC #가비지콜렉터 #Garbage Collector
- 카카오 인턴
- Kakao Blind
- IOC
- decorator
- 모던 자바 인 액션
- KAKAO 2021
- nginx 내부
- 신규 아이디 추천
- 스프링
- WORE
- 2020 KAKAO
- 프로그래밍 모델
- 2021
- jvm
- WORA
- 코테
- 카카오 코테
- behavior parameterization
- Java #JIT #JVM
- 스프링 컨테이너
- Java
- 카카오코테
- 디자인패턴
- trie 소스코드
- 2019 Kakao Blind
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |