programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr any() 와 for문을 같이 쓸 때 any(j[1] 이거 아님!! any(j[1] < x[1] for x in dq): from collections import deque def solution(priorities, location): cnt = 0 dq = deque([(i, v) for i, v in enumerate(pr..
https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr set 자료형의 차집합 기능 이용하기 짝수는 소수가 될 수 없으니, 3부터 시작해서 2씩 커지게 한다. 단, 2도 소수이니 마지막에 정답+1을 리턴하도록 한다. def solution(n): num = set([i for i in range(3, n+1, 2)]) for i in range(3, n+1, 2): if i in num: n..
https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 �� programmers.co.kr {'classic': [(0, 500), (2, 150), (3, 800)], 'pop': [(1, 600), (4, 2500)]} 이런 dictionary를 만드려고 꽤나 고생했다. list에 tuple 원소를 추가할 때, 평소에 하듯이 dict.get(key, [])를 쓰려니까 [0, 500, 2, 150, ..] 이런 식으로 추가가 되었다. 그래서 ..
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr def solution(clothes): answer = 1 d = {} for c in clothes: d[c[1]] = d.get(c[1], 0) + 1 for v in d.values(): # 옷을 입을 때/ 안입을 때 두 가지 경우 answer *= (v+1) return answer-1 # 아무것도 안입을 때 제외
https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr 이중 for문을 사용하여, 인접한 원소끼리, 길이가 짧은 값이 긴 값의 앞부분에 해당하면 False를 반환하도록 하였다. 그러나 두개의 테스트 케이스에서 오답이 나온다. 그나저나 string 자료형 끼리도 if ~ in 구문이 먹히더라. 그런 경우 접두사가 아닌 경우에도 True를 반환하기 때문에 사용은 안했다. A = "111" B = "a111" pr..
람다 함수로, 파이썬 내장 함수 sort()에 정렬 key값을 줄 경우 lambda x: x[0]은, x[0]이 작은 숫자부터 정렬된다. 즉 reverse=False와 같다. => 오름차순 lambda x: -x[0]은, x[0]이 큰 숫자부터 정렬된다. 즉 reverse=True와 같다. => 내림차순 a = [[1], [5], [3], [10], [100]] a.sort(key=lambda x:x[0]) print(a) # [[1], [3], [5], [10], [100]] a = [[1], [5], [3], [10], [100]] a.sort(reverse=False) print(a) # [[1], [3], [5], [10], [100]] b = [[1], [5], [3], [10], [100]] ..
round()의 두번째 인자가 생략되면 소수 첫째 자리에서 반올림한다. round(x, 1)은, 소수 첫째짜리까지 표시한다. 즉 소수 둘째 자리에서 반올림한다. 두번째 인자에 음수를 사용할 수 있다. -1은 일의 자리 수에서 반올림 두번째 인자 0은 첫째 자리 까지 표시 print(round(3.141)) # 3 print(round(3.141, 1)) # 3.1 print(round(3.141, 3)) # 3.141 print(round(31.41, 0)) # 31.0 print(round(31.41, -1)) # 30.0 print(round(38.41, 0)) # 38.0 print(round(38.41, -1)) # 40.0 print(round(38.41, -2)) # 0.0 wikidocs.n..