
1. 문제 2. 소스코드 (Python3) from itertools import combinations def solution(m, weights): answer = 0 for i in range(len(weights)): combi = combinations(weights, i) answer += [sum(candies) for candies in combi].count(m) return answer 3. 고찰 나는 재귀함수를 이용해서 풀었는데, 조합을 이용해서 풀 수 있었다. 재귀함수는 계속해서 함수를 호출하기 때문에 아마 시간복잡도 측면에서 조합 함수를 이용하는 것이 더 효율적일 것 같다.

1. 문제 2. 소스코드 (Python3) from itertools import product def solution(monster, S1, S2, S3): p = product(range(S1), range(S2), range(S3)) case = len([x for x in p if sum(x) + 4 not in monster]) return int(case / (S1 * S2 * S3) * 1000) 3. 고찰 1) product 함수 여러 list에서 원소를 하나씩 뽑아 모든 조합을 찾을 때 사용한다. 이를 곱집합 이라고 한다. from itertools import product prod = product(list1, list2, list3) ex. list1 = [0, 1, 2], list..

1. 문제 2. 소스코드 (Python3) from itertools import combinations def solution(n): sieve = [True] * n for i in range(2, int(n ** 0.5) + 1): if sieve[i]: for j in range(i * 2, n, i): sieve[j] = False prime_numbers = [i for i in range(2, n) if sieve[i]] return [sum(c) for c in combinations(prime_numbers, 3)].count(n) 3. 고찰 1) 루트값 구하기 매번 math모듈의 sqrt(n)함수를 이용하였는데, n ** 0.5 로 구할 수 있다. 2) combinations 함수 조합..
1. 문제 programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 2. 소스코드 (Python3) def solution(citations): citations = sorted(citations) l = len(citations) for i in range(l): if citations[i] >= l-i: return l-i return 0 3. 고찰 1) 알고리즘 citations를 오름차순 정렬..

1. 문제 programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 2. 소스코드 def solution(brown, red): for i in range(1, int(red**(1/2))+1): if red % i == 0: if 2*(i + red//i) == brown-4: return [red//i+2, i+2] 3. 고찰 *문제에서 안쪽 카펫 컬러가 red -> yellow로 변경되었다. 해당 풀이는 그 전에 푼 것이라..
1. 문제 programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 2. 소스코드 import heapq as hq def solution(scoville, K): hq.heapify(scoville) answer = 0 while True: first = hq.heappop(scoville) if first >= K: break if len(scoville) == 0: return -1 second = hq.hea..

1. 문제 programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr 2. 소스코드 import collections DUMMY_TRUCK = 0 class Bridge(object): def __init__(self, length, weight): self._max_length = length self._max_weight = weight self._queue = collections.deque() self._c..

1. 문제 programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 2. 소스코드-1 ( Python3 ) def solution(priorities, location): queue = [(i,p) for i,p in enumerate(priorities)] answer = 0 while True: cur = queue.pop(0) if any(cur[1] < q[1] for q in queue): queue.append(cur) ..
- Total
- Today
- Yesterday
- VirtualBox
- Publisher
- subscriber
- filesystem
- ROS
- 프로그래머스
- Python
- 코드리뷰
- 윈도우 복구
- C++
- roslaunch
- HC-SR04
- umount
- 원격 통신
- Ubuntu16.04
- Mount
- 아두이노 IDE
- Ubuntu20.04
- 초음파센서
- 리눅스
- python3
- sensehat
- 백준알고리즘
- set backspace
- 8자주행
- VMware
- vue/cli
- 우분투
- 윈도우
- 포트인식문제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |