일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 논문
- Python
- 모두를 위한 딥러닝
- 프로그래머스
- reinforcement learning
- 백준
- object detection
- computer vision
- 내용추가
- 알고리즘
- coding test
- Today
- Total
목록프로그래머스 (3)
NISSO
from itertools import permutations def solution(numbers): answer = [] for i in range(len(numbers)): for j in permutations(list(numbers), r=i+1): n,s = int(''.join(j)),0 for i in range(int(n**0.5)+1): if n%(i+1) == 0: s += 1 if s==1 and n>1 or n==2: answer.append(n) return len(list(set(answer))) itertools를 사용했었지만 permutations는 처음 써봤다. 그리고 를 공부 안 하고 내 방식대로 소수를 찾았더니 2를 탐지를 못해서 그냥 2면 소수라고 리스트에 넣어줬다...
import math def solution(progresses, speeds): queue,answer = [math.ceil((100-progresses[0])/speeds[0])],[] for p,s in zip(progresses[1:]+[0], speeds[1:]+[1]): crnt = math.ceil((100-p)/s) if crnt > queue[0]: answer.append(len(queue)) queue = [] queue.append(crnt) return answer 레벨 2는 처음 푸는데 스택/큐 문제도 거의 안 풀어봤고, 알 것 같은데 안 풀려서 문제랑 거의 싸우다싶이 풀었다. 코테가 약 2시간 남았으니 코드 설명은 나중에 쓰기로... (지금 안 쓰면 나중에도 안 쓸 것 같아서..
def solution(p, c): p.sort() c.sort() for i in range(len(c)): if p[i] != c[i]: return p[i] return p[-1] 내 풀이. for i,j in zip(p,c): if i!=j: return i for문을 이렇게 바꾸면 더 깔끔해진다. 그리고 알게 된 건, Counter 객체끼리는 뺄셈이 가능하다는 것. 리스트끼리는 왜 뺄셈이 안 되냐고 생각했었는데 Counter객체가 가능한지는 몰랐다. import collections def solution(participant, completion): answer = collections.Counter(participant) - collections.Counter(completion) retur..