모음사전 (완전 탐색, product)
·
Coding Test/programmers
from itertools import product def solution(word): arr=['A', 'E', 'I', 'O', 'U'] arr.sort() prod=[] for i in range(1,6): prod+=list(product(arr, repeat=i)) prod.sort() cnt=1 for x in prod: str="".join(x) print(str) if str==word: break else: cnt+=1 return cnt
귤고르기 (정렬, Counter)
·
Coding Test/programmers
from collections import Counter def solution(k, tangerine): answer=0 d=Counter(tangerine) d = sorted(d.items(), key=lambda x: x[1], reverse=True) if len(d)==1: return 1 else: sum=0 for i in range(len(d)): if k>sum: sum += d[i][1] answer+=1 else: break return answer
소수찾기 (완전 탐색, permutations)
·
Coding Test/programmers
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from itertools import permutations import math def solution(numbers): answer={} nums=[] for i in range(1,len(numbers)+1): nums+=permutations(numbers, i) for x in nums: n=int("".join(x)) if n
호텔대실 (구현)
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(book_time): check = [0]*1440 for times in book_time: sh, sm = map(int, times[0].split(':')) eh, em = map(int, times[1].split(':')) start = sh * 60 + sm end = eh * 60 + em + 10 # 청소시간 10분 포함 if end > 1440: # 24..
피로도 (던전탐험, 완전 탐색, permutations)
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr """ 최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, 소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. """ from itertools import permutations def solution(k, dungeons): max_cnt=0 for x in permutations(dungeons, len(dungeons)): hp=k ..
사라지는 발판 (DFS)
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/92345 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 dr=[0,0,-1,1] dc=[1,-1,0,0] def solution(board, aloc, bloc): n=len(board) m=len(board[0]) visited = [[0]*5 for _ in range(5)] # 방문 block=[[0]*5 for _ in range(5)] # 발판 def dfs(p1,p2): r, c = p1[0], p1[1] # 현재 플레이어 좌표 opr..