[python] 프로그래머스 - 위장.py
·
파이썬/프로그래머스
문제 programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 문제 풀이 옷 종류별로 딕셔너리를 생성하고 경우의 수를 계산해준다. 경우의 수를 계산할때는 딕셔너리 길이에 + 1을 하여 계산해준다(입지 않는경우의수) 그리고 하나도 입지 않는 경우는 존재하지 않으므로 마지막에 -1을 하여 return 한다. 코드 import collections def solution(clothes): dic = collections.defaultdict(list) # 옷종류별로 딕셔너리 생성 for a,b in clothes: dic[b].append(a) answer = 1 # 경우의 수 계산 for _ in dic: answer *..
[python] 프로그래머스 - 더 맵게
·
파이썬/프로그래머스
문제 programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 문제 풀이 heapq을 이용하여 문제에 제시된 조건으로 스코빌 지수를 업데이트시켜주고, 스코빌지수가 K미만이라면 -1을 return해준다. 코드 import heapq def solution(scoville, K): answer = 0 scoville.sort() # 스코빌 지수 업데이트 while scoville[0] < K: if len(scoville)..
[python] 프로그래머스 - 가사 검색
·
파이썬/프로그래머스
문제 https://programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 문제풀이 와일드카드가 접두사에 있는 경우와 접미사에 있는 경우를 나누어서 처리 와일드카드 부분을 a 와 z로 변경하고 bisect함수를 이용하여 해당 되는 단어가 몇개인지 구하면된다. 예를 들어 쿼리에 'pro???' 가 들어있고 단어에는 [proabc, procdd,prabcd] 가들어있다면 prabcd proaaa(?를 a로변경) proabc procdd prozzz(? 를 z로 변경) prozzz의 인덱스 (4) - proaaa의 인덱스 (1) - 1 = 2 -> 해당하는 가사의 갯수 2 코드 # 가사 검색 import bisect..
[python] 프로그래머스 - 3 진법 뒤집기
·
파이썬/프로그래머스
문제 programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 문제풀이 divmod 함수를 사용하여 계속해서 n을 3으로나누고 나머지를 three 문자열에 추가해주고 int()함수의 Base를 이용하여 10진법으로변환 해준다. 코드 def solution(n): three = '' # 3진법 변환 while n>2 : n,m = divmod(n,3) three += str(m) thre..
[python] 프로그래머스 - 큰 수 만들기
·
파이썬/프로그래머스
문제 programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 문제풀이 앞에 있는 숫자들을 candidate 리스트에 하나씩 넣는다. k> 0 일 때 현재 num 보다 작은숫자가 candidate에 들어있다면 하나씩 빼준다. (숫자의 크기는 앞자리가 가장 중요하기 때문이다.) 코드 def solution(number, k): answer = '' candidate = [] for i,num in enumerate(number): # candidate가 비어있지 않고, candidate에 num보다 작은 숫자가 있다면 pop while candidate and candidate[-1] 0..
[python] 프로그래머스 - 네트워크
·
파이썬/프로그래머스
문제링크 :https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr 문제설명 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하는 solution 함수 알고리즘 1. DFS를 이용하여 컴포넌트의 갯수를구하면된다 . 코드 123456789101112131415161718192021222324252627def solution(n, ..
ariz1623
'프로그래머스' 태그의 글 목록 (2 Page)