프로그래머스(LV2) 썸네일형 리스트형 [프로그래머스][Python] 피로도, 코드설명 1. 문제링크 코딩테스트 연습 - 피로도 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 from itertools import permutations def solution(k, dungeons): answer = 0 dun_len = len(dungeons) for permute in permutations(dungeons, dun_len): hp = k count = 0 #print(permute) for pm in permute: #print(pm) if hp >= pm[0]: hp.. 더보기 [프로그래머스][Python] 연속 부분 수열 합의 개수, 코드 설명 1. 문제 코딩테스트 연습 - 연속 부분 수열 합의 개수 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 문제 풀이 from collections import deque def solution(elements): answer = set() #중복제거를 위해 elements = deque(elements) for i in range(len(elements)): #수열 갯수만큼 elements.rotate(1) #회전 for j in range(1, len(elements)): answer.add(.. 더보기 [프로그래머스][Python] 카펫 1. 문제설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보.. 더보기 [프로그래머스][Python] 영어 끝말잇기 1. 문제설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 2. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 3. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 4. 이전에 등장했던 단어는 사용할 수 없습니다. 5. 한글자인 단어는 인정되지 않습니다. 끝말잇기를 계속 진행해 나가다 보면, 3번 사람이 자신의 세 번째 차례에 말한 tank 라는 단어는 이전에 등장했던 단어이므로 탈락하게 됩니다. 사람의 수 n과 사람들이 순서대로 말한 단어 words 가 매개변수로 주어질 때, 가장 먼저 탈락하는 사람의 번호와 그 사람이 .. 더보기 [프로그래머스][Python] 짝지어 제거하기 1. 문제설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다.. 더보기 [프로그래머스][Python] 다음 큰 숫자 1. 문제설명 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 개수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다. 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해 주세요. 제한 사항 n은 1,000,000 이하의 자연수입니다. 입출력 예 n result 78 83 15 23 2. 문제풀이 def solution(n): #자연수 n을 이진수로 변환했을 때 1의 갯수 cnt1 .. 더보기 [프로그래머스][Python] 피보나치 수 1. 문제설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2)가 적용되는 수입니다. 예를 들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항 n은 2 이상 100,000 이하인 자연수입니다. n return 3 2 5 5 2. 문제 풀이 def solution(n): answer = [0, 1] f.. 더보기 [프로그래머스][Python] 숫자의 표현 1. 문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현하는 방법이 여러 개라는 사실을 알게 되었습니다. 예를 들어 15는 다음과 같이 4가지로 표현할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해 주세요. 제한사항 n은 10,000 이하의 자연수입니다. 입출력 예 n result 15 4 2. 문제 풀이 def solution(n): answer = 0 sum = 0 #1부터 시작해서 연속된 숫자로 더해나감 for i in range(1,n+1): .. 더보기 이전 1 2 다음