philaphillip

[COS Pro 2급, Python] 6차 2번 : 종이 나누어 주기 본문

알고리즘/파이썬

[COS Pro 2급, Python] 6차 2번 : 종이 나누어 주기

잡식블로그 2024. 1. 9. 22:23
반응형

문제

한 줄로 서 있는 사람들에게 종이를 다음과 같은 방법으로 나눠주려 합니다.
  • 종이 K 장을 맨 앞사람에게 줍니다.
  • 맨 앞사람은 자신이 필요한만큼 종이를 챙긴 후, 남은 종이를 뒷사람한테 전달합니다.
  • 뒷사람 또한 자신이 필요한만큼 종이를 챙긴 후, 남은 종이를 뒷사람에게 전달합니다.
  • 전달할 종이가 없거나, 모든 사람이 필요한 만큼 종이를 가질 때까지 계속해서 뒷사람에게 남은 종이를 전달합니다.
한 줄로 서 있는 사람들이 각자 필요로 하는 종이 수가 순서대로 들어있는 배열 papers, papers의 길이 papers_len, 처음에 맨 앞사람에게 전달한 종이 수 K가 매개변수로 주어질 때, 필요한 만큼의 종이를 받은 사람은 모두 몇 명인지 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어 있기 때문에 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
 
 
 
 
 

 

code

def solution(papers, K):
	length = len(papers)
	for i, paper in enumerate(papers):
		K -= paper
		if K < 0:
			length = i - 1
	return length
    
    
    

papers1 = [2, 4, 2, 3, 1]
K1 = 10
ret1 = solution(papers1, K1)

print("solution 함수의 반환 값은", ret1, "입니다.")

papers2 = [2, 4, 2, 3, 1]
K2 = 14
ret2 = solution(papers2, K2)

print("solution 함수의 반환 값은", ret2, "입니다.")
반응형
Comments