프로그래머스

[코딩테스트] 프로그래머스 메뉴 리뉴얼 파이썬(Python)
https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from itertools import combinations def solution(orders, course): dic = {} result = [] for n in course: dic[n] = {} for order in orders: for item in combinations(sorted(order), n): menu = ''.join(item) dic[n][menu] = dic[n]...

[코딩테스트] 프로그래머스 [3차] 압축 파이썬(Python)
https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해당 문제는 카카오에서 출제한 코딩테스트 문제입니다. 문제의 전체해설은 링크에서 확인할 수 있습니다. 해설을 간단하게 요약하면 설명에 나온 의사코드(Pseudocode)를 그대로 따라서 구현만 하면 되는문제입니다. 첫 번째 방법 from collections import deque def solution(msg): alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' dic = ..

[코딩테스트] 프로그래머스 더 맵게 파이썬(Python)
https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import heapq def solution(scoville, K): count = 0 heapq.heapify(scoville) while True: a = heapq.heappop(scoville) if a >= K: return count if len(scoville) < 1: return -1 b = heapq.heappop(scoville) c = a + (b * 2) heapq.hea..

[코딩테스트] 프로그래머스 스킬트리 파이썬(Python)
https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(skill, skill_trees): skill_dic = {} count = 0 for i,s in enumerate(skill): skill_dic[s] = i for skill in skill_trees: users = [-1] for s in skill: try: number = skill_dic[s] if number-1 in users: users.append(n..

[코딩테스트] 프로그래머스 방문 길이 파이썬(Python)
https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(dirs): cx = 0 cy = 0 moved = set() for d in dirs: if d == 'U': nx = cx ny = cy+1 elif d == 'D': nx = cx ny = cy-1 elif d == 'L': nx = cx-1 ny = cy elif d =='R': nx = cx+1 ny = cy if nx > 5 or nx 5 ..

[코딩테스트] 프로그래머스 점프와 순간 이동 파이썬(Python)
https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n): result = 0 while n: if n % 2 != 0: result +=1 n -= 1 else: n = n//2 return result 문제에서 주어진 조건은 다음과 같습니다. 점프 : k칸 앞으로 점프, - k만큼의 건전지를 사용 순간이동 : 현재까지온 거리 x 2에 해당하는 위치로 이동 - 건전지 사용 없음 위의 조건으로 건전지 사용을 최소로하는 경우의..