목록문제 9 (8)
philaphillip
문제 스택 두개를 이용해 Queue 자료구조를 만들었을 때, Queue 자료 구조의 pop(또는 dequeue) 함수를 구현하려합니다. Queue란 먼저 삽입한 데이터를 먼저 빼내는 자료구조를 뜻합니다. pop 함수를 만들기 위해 다음과 같이 프로그램 구조를 작성했습니다. 스택2가 비었다면 스택1에 아무것도 남지 않을때까지 스택1을 pop한 값을 스택2에 push 한다. 스택2를 pop한 값을 리턴한다. 배열 stack1과 정수 stack1_idx, 배열 stack2과 정수 stack2_idx가 solution 함수의 매개변수로 주어집니다. 이때, stack1_idx는 stack1을 스택으로 이용했을 때 stack1의 top의 index를 의미하며, stack2_idx는 stack2를 스택으로 이용했을 ..
문제 정수 number와 target이 주어졌을 때, 다음 세 연산을 이용해 number를 target으로 만들려 합니다. 연산 1. 1을 더합니다. 연산 2. 1을 뺍니다. 연산 3. 2를 곱합니다. 정수 number와 target이 매개변수로 주어질 때, number로 target으로 만들려면 연산을 최소 몇 번 해야 하는지 return 하도록 solution 함수를 작성해 주세요. 코드 def solution(number, target): answer = 0 dp = [-1]*(2*target+1) for i in range(1, number+1): dp[i] = number - i dp[i*2] = dp[i] + 1 dp[number+1] = 1 for i in range(number + 2, t..
문제 hour 시 minute 분에 아날로그 시계의 시침과 분침이 몇 도를 이루는지 계산하려 합니다. 예를 들어, 3시 00분에 시침과 분침은 90˚를 이룹니다. 어떤 시점의 시 hour, 분 minute이 매개변수로 주어질 때, hour 시 minute 분에 아날로그 시계의 시침과 분침이 이루는 각도를 소숫점 첫번째 자리까지 표현한 문자열을 return 하도록 solution 함수를 작성해주세요. 코드 def solution(hour, minute): answer = '' answer = 30*hour-5.5*minute return "{:.1f}".format(answer) hour = 3 minute = 0 ret = solution(hour, minute) print("solution 함수의 반환..
문제 모 매장에서는 팝업스토어를 열려고 합니다. 팝업스토어란 한정 기간 문을 여는 매장입니다. 팝업스토어는 k일 동안 연속해서 열 예정입니다. n일 동안의 추정 매출액이 주어질 때, 언제 팝업스토어를 열어야 가장 매출이 높을지 알아보려 합니다. n일 간의 추정 매출액이 담긴 배열 revenue와 revenue의 길이인 revenue_len, 팝업스토어를 열 날의 수 k가 매개변수로 주어질 때, 최대 매출액 합을 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요. 코드 def solution(revenue, k) : answ..