문제링크 프로그래머스_해쉬_위장 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return clothes = [["yellowhat", "headgear"], ["bluesunglasses", "eyewear"], ["green_turban", "headgear"]] 풀이방식 해쉬를 이용한다기보다, 순열 조합만으로 문제없이 풀 수 있는 문제 조합: (a+1)(b+1)(c+1) 위 조합에서 1 뺌 (1은 아무것도 입지 않았을 경우) Counter을 이용 from collections import Counter def solution(clothes): answer = 1 c = Counter([x[1] for x in clothes]) for v in c.v..
문제링크 프로그래머스_해쉬_베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시 장르별 노래가 1개만 있다면 1개만 출력 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 풀이방식_1 defaultdict와 operator를 이용한 정렬 딕셔너리1: 장르 별, 플레이 숫자와 인덱스 위치를 삽입하는 딕셔너리 operator를 이용해 플레이 숫자 기준으로 내림차순 정렬 딕셔너리2: 장르 KEY, 플레이 숫자의 합 VALUE lambda를 이용해, 플레이 숫자 합 기준으로 내림차순 정렬 딕셔너리2의 키 순서대로, 딕셔너리1의 인덱스 위치를..
문제링크 프로그래머스_해쉬_전화번호목록 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return *해쉬 문제지만 다른 알고리즘으로도 풀이 가능 (다른 사람 풀이 참고)풀이방식 startswith함수 이용 정렬 -> 인접한 요소만 비교하도록 startswith를 이용하여 접두어가 되면 False 출력 코드_1 # pb = ["97674223", "119", "1195524421"] def solution(pb): # 1. 정렬 pb = sorted(pb) # 2. 전 요소가 그 후 요소의 접두어가 되는지를 확인 for p1, p2 in zip(pb, pb[1:]): if p2.startswith(p1): return False return True (다른 사람 풀이..
문제링크 프로그래머스_해쉬_완주하지 못한 선수 완주하지 못한 선수를 찾아냄(완주하지 못한 선수는 1명) 참가선수(part): ["leo", "kiki", "eden"] 완주선수(com): ["eden", "kiki"] 완주 못한 선수(정답): 'leo' 풀이방식 dictionary를 이용 def solution(part, com): dic = dict() for p in part: if p not in dic: dic[p] = 1 else: dic[p] += 1 for c in com: dic[c] -= 1 for k,v in dic.items(): if v > 0: return k
문제링크 프로그래머스_스택큐_주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 풀이방식 가격이 떨어지지 않는 맨 뒤요소는 제외(0) 뒤의 요소들과 비교하여 가격이 떨어질때까지 카운트 +1 가격이 떨어지면 break 각 카운트를 큐에 담음 # prices = [1, 2, 3, 2, 3] def solution(pr): que = [] # 맨 뒤는 제외 for i in range(len(pr)-1): e = pr[i] cnt = 0 # 해당 가격의 뒤와 비교 j = i+1 # 가격이 떨어질 때 cnt를 셈 while j < len(pr): if pr[j] < e: cnt += 1 break else: cnt += 1 j..
문제링크 프로그래머스_스택큐_프린터 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냄 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣음 그렇지 않으면 J를 인쇄 풀이방식 가장 우선순위가 큰 수와, 현재 위치의 수를 비교 -> 위치 인덱스를 하나씩 앞당겨나감 풀이 코멘트 포함 1 def solution(p,l): ans = 0 # 우선순위가 가장 큰 수 m = max(p) # 프린트 목록 앞부터 1개씩 꺼냄 while True: v = p.pop(0) if m == v: ans += 1 # 위치가 맨 앞이었고 가장 큰 수도 맨 앞이었기 때문에 진행 멈춤 if l == 0: break # 아니라면, 프린트 목록 앞부터 1개씩 꺼냈으니 위..
문제링크 프로그래머스_스택큐_기능개발 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 풀이방식 1. dictionary의 value에 값을 더해나감 딕셔너리 생성: 시간을 key, 작업량을 value 시간 : 남은 작업량 / 속도 현 시간이, 가장 긴 시간 안에 있다면 가장 긴 시간 key의 작업량를 더해나감 현 시간이, 가장 긴 시간보다 더 길다면 현 시간 key의 작업량를 더해나감 2. queue 큐 생성(첫째 요소: 시간, 둘째 요소: 작업 수) 시간 : 남은 작업량 / 속도 가장 긴 시간보다 현 시간이 길면 현 시간과 작업(초기:1)의 큐를 삽입 ..
문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스_힙_이중우선순위큐 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조 I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현 입출력 예 operation return ["I 16", "I -5643", "D -1", "D ..
- Total
- Today
- Yesterday
- 쿠싱증후군
- 뇌하수체
- 쿠싱
- 분당서울대병원
- 통계
- programmers
- SQL
- counter
- Python
- 뇌하수체선종
- 파이썬
- 군고구마
- 코딩테스트
- TensorFlow
- neural network
- 확률
- 상관관계
- hash
- 사분위수
- 중앙값
- Lambda
- 힙
- 프로그래머스
- 확률분포
- 상대도수
- leatcode
- 분산
- random forest
- 평균
- 조건부확률
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |