전체 글
-
29. 행렬의 곱셈코딩 테스트/Level 2 2020. 8. 13. 10:03
https://programmers.co.kr/learn/courses/30/lessons/12949 행렬의 곱셈 연습문제 3222명 완료 종이 펴놓고 그려보면 어렵지 않게 풀 수 있는 문제... 파이썬.. def solution(arr1, arr2): answer = [] for idx1 in range(len(arr1)): row = [] for idx2 in range(len(arr2[0])): tmp = 0 for idx3 in range(len(arr1[0])): tmp += arr1[idx1][idx3] * arr2[idx3][idx2] row.append(tmp) answer.append(row) return answer Java import java.util.ArrayList; class ..
-
28. 구명보트코딩 테스트/Level 2 2020. 8. 12. 10:58
https://programmers.co.kr/learn/courses/30/lessons/42885 구명보트 탐욕법(Greedy) 3171명 완료 이 정도 스포는 해도 될 것 같아서.. [40,50,60,70,80,90,100,110,120,130], 170 은 5회다. 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 파이썬 deque는 double linked list이다. from collections import deque def solution(people: list, li..
-
27. 라면공장 ⁂코딩 테스트/Level 2 2020. 8. 11. 10:53
https://programmers.co.kr/learn/courses/30/lessons/42629 라면공장 힙(Heap) 3174명 완료 저에게 Level2에서 가장 힘들었던 문제를 꼽으라면 가장 큰 수, 124 문제와 이 문제입니다. 조이스틱(완전 탐색)도 오래 걸렸군요.. 제가 푼 방식은 다음과 같습니다. 1. 날자가 흘러가면서 스톡이 1씩 줄어들겠죠. 2. 공급일이 되면 일단 공급을 '우선순위 큐'에 (임시로) 집어넣습니다. 3. 시간이 지나 재고가 바닥이 되면 (stock == 0) (임시) 큐에 들어있는 가장 큰 공급을 뽑아서 스톡에 더 해줍니다. 4. 3번의 횟수를 카운트합니다. -------- 먼저 공급을 큐에 넣었다가 바닥이 난 날짜에 뽑는 이유를 생각해 봅시다. 실제 상황이 아닌 일종..
-
26. 큰 수 만들기코딩 테스트/Level 2 2020. 8. 9. 10:21
https://programmers.co.kr/learn/courses/30/lessons/42883 큰 수 만들기 탐욕법(Greedy) 3568명 완료 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 파이썬 def solution(number, k): count, i = 0, 0 while i 0: i -= 1 if count == k: return number else: i += 1 return number[:len(number) - k] 테스트 1 〉통과 (0.04ms, 10.8M..
-
25. 숫자 야구코딩 테스트/Level 2 2020. 8. 8. 21:27
https://programmers.co.kr/learn/courses/30/lessons/42841 완전탐색 4116명 완료 완전탐색이니까 모든 경우의 수를 찾아 (=노가다) 풀면 끝. 완전탐색문제라 난이도가 높지 않습니다. 코딩테스트 연습 - 숫자 야구 [[123, 1, 1], [356, 1, 0], [327, 2, 0], [489, 0, 1]] 2 programmers.co.kr import itertools def solution(nums): answer_set = set() for num, s, b in nums: temp_set = set() num = list(map(int, str(num))) # num = [int(each) for each in str(num)] for i, j, k i..
-
24. 숫자의 표현코딩 테스트/Level 2 2020. 8. 7. 20:01
https://programmers.co.kr/learn/courses/30/lessons/12924 연습문제 4145명 완료 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 파이썬 def solution(n): count = 0 for i in range(1, n+1): total = 0 for j in range(i, n+1): total += j if total == n: count += 1 break elif total > n: break return count 테스트 1 〉통과 (..
-
23. 올바른 괄호코딩 테스트/Level 2 2020. 8. 6. 19:29
https://programmers.co.kr/learn/courses/30/lessons/12909 연습문제 4333명 완료 스택을 이용해서 풀면 무난합니다. 예전에 올린 적 있습니다. https://comdoc.tistory.com/entry/11-%EC%8A%A4%ED%83%9D%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EA%B4%84%ED%98%B8bracket-%EC%B2%B4%ED%81%AC-%ED%8C%8C%EC%9D%B4%EC%8D%AC 코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 ()() 또는 (())() 는 올바른 괄호입니다. )()( 또는 (()( 는..
-
22. 문자열 압축코딩 테스트/Level 2 2020. 8. 5. 16:49
https://programmers.co.kr/learn/courses/30/lessons/60057 문자열 압축 2020 KAKAO BLIND RECRUITMENT 4461명 완료 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 파이썬 def solution(s): min_length = [] for length in range(1, len(s) + 1): temp, compressed, count = '', '', 0 for i in range(0, len(s), length): word = s[i:..