Development Artist

[COS Pro 1급, Python] 6차 4번 : 카드 섞기 본문

Algorithm/COS

[COS Pro 1급, Python] 6차 4번 : 카드 섞기

JMcunst 2022. 3. 1. 11:45
728x90
반응형

문제 유형

 한줄 수정(디버깅)

난이도

 easy

Note 

 1. 문제 자체는 쉬웠다.

 2. 하지만, 함수 구현 문제로 나올 수 있으니, 해당 로직은 알 필요가 있다.

 3. card : 전체, card_a : 반으로 나눠진 일부, card_b : 반으로 나눠진 나머지 -> card = card_a + card+b 

 

Code

# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean

def solution(n, mix, k):
	answer = 0
	card = [_ for _ in range(1, n+1)]
	while mix != 0:
		mix = mix - 1
		card_a, card_b = [0 for _ in range(n//2)], [0 for _ in range(n//2)]
		for i in range(0, n):
			if i < n//2:
				card_a[i] = card[i]
			else:
				card_b[i-n//2] = card[i]
		for i in range(0, n):
			if i % 2 == 0:
				card[i] = card_a[i//2]
			else:
				card[i] = card_b[i//2]
	answer = card[k-1]
	return answer

n = 6
mix = 3
k = 3
ret = solution(n, mix, k)

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

 

※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.

※ 반례가 있으면 알려주시면 감사하겠습니다.

728x90
반응형
Comments