Programmers / 정렬 - 가장 큰 수
programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 여기서 핵심은 정렬 식을 어떻게 구성할 것인지였다. 사실 Arrays.sort()에서 람다식을 이용해 풀 수도 있지만 문제가 '정렬' 카테고리에 들어가기 때문에 직접 merge sort를 짜보았다. [내가 짠 코드] // mergesort를 직접 구현해서 짰다 import java.util.*; class Sol..
2021. 4. 18.
Programmers / 정렬 - K번째 수
programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 나는 그냥 단순하게 생각해서 짰다. [내가 짠 코드] import java.util.Arrays; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i = 0; i < commands.length; i++){ int start = commands[i][0]-1; int end =..
2021. 4. 17.
카카오 2020 블라인드 채용 1차 코딩테스트 3번 문제 - 자물쇠와 열쇠
문제 링크: programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 이번 문제는 푸는데 좀 많은 시간이 걸렸다. 처음에는 열쇠의 위아래에 패딩을 붙였는데 잘 되지 않았다. 그래서 두 번째로 생각한 것은 자물쇠에 패딩을 붙이는 것이었다. class Solution { public boolean solution(int[][] key, int[][] lock) { int k_len = key.length; int l_len = lock.length; int k_count = 0, l_..
2020. 9. 7.