목록문제 1 (8)
philaphillip
문제 n x n 크기 격자 모양 정원에 칸마다 핀 꽃 또는 피지 않은 꽃을 심었습니다. 이 정원의 꽃이 모두 피는 데 며칠이 걸리는지 알고 싶습니다. 핀 꽃은 하루가 지나면 앞, 뒤, 양옆 네 방향에 있는 꽃을 피웁니다. 정원 크기 n과 현재 정원의 상태를 담은 2차원 배열 garden이 주어졌을 때, 모든 꽃이 피는데 며칠이 걸리는지 return 하도록 solution 함수를 작성해주세요. 코드 def solution(n, garden): answer = 0 a = -1 temp = [] dx = [1, 0, -1, 0] dy = [0, 1, 0, -1] while len(temp) < len(garden) ** 2: temp.clear() for i in range(len(garden)): for j..
문제 계단 n칸을 올라가는 방법의 수를 구하려고 합니다. 계단은 한 번에 1계단, 2계단, 3계단씩 오를 수 있습니다. 예를 들어, 계단 3칸을 오르는 방법은 다음과 같이 4가지가 있습니다. 1계단 + 1계단 + 1계단 1계단 + 2계단 2계단 + 1계단 3계단 계단 수 n이 매개변수로 주어질 때, 계단을 오르는 경우의 수를 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요. 코드 def solution(n): answer = 0 steps = [0 for _ in range(n+1)] steps[1] = 1 steps[2] = 2 steps[3] = 4 for i in range(4, n+1): steps[i] = steps[i-1] + steps[i-2..
문제 어떤 단어가 XX 사전의 몇 번째 단어인지 알고 싶습니다. XX 사전에는 대문자 알파벳 'A', 'E', 'I', 'O', 'U'를 사용해 만들 수 있는 길이가 5 이하인 모든 단어가 수록되어 있습니다. 예를 들어, 사전의 첫 번째 단어는 "A"이고, 그다음은 "AA"입니다. 마지막 단어는 "UUUUU"입니다. 문자열 word가 매개변수로 주어질 때, word가 사전의 몇 번째 단어인지 return 하도록 solution 함수를 작성했습니다. 그러나, 일부 코드가 잘못되어 코드가 바르게 동작하지 않습니다. 주어진 코드가 모든 입력을 바르게 처리하도록 코드를 수정해주세요. 코드는 한 줄만 수정해야 합니다. 코드 def create_words(lev, s): global words VOWELS = ['..
문제 정수로 이루어진 두 배열 arrA와 arrB가 주어질 때, arrA를 회전해 arrB로 만들 수 있는지 알아보려 합니다. 배열의 회전이란 모든 원소를 오른쪽으로 한 칸씩 이동시키고, 마지막 원소는 배열의 맨 앞에 넣는 것을 말합니다. 이를 위해 다음과 같이 프로그램 구조를 작성했습니다. 1. arrA와 arrB의 길이가 다르면 false를 return 합니다. 2. 두 배열의 구성 성분이 달라 회전했을 때 같아질 가능성이 없다면 false를 return 합니다. 3. arrA 배열을 두 번 이어 붙여 길이가 2배인 배열로 만듭니다. 4. arrA의 부분 배열 중 arrB와 같은 배열이 있으면 true를, 그렇지 않으면 false를 return 합니다. 배열 arrA와 arrA의 길이 arrA_len..