Development Artist

[COS Pro 1급, Python] 6차 7번 : UP AND DOWN 게임 본문

Algorithm/COS

[COS Pro 1급, Python] 6차 7번 : UP AND DOWN 게임

JMcunst 2022. 3. 1. 12:02
728x90
반응형

문제 유형

 빈칸

난이도

 easy

Note 

 1. 문제 자체는 쉬웠다.

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

 3. left 업데이트를 기존의 left와 num과 비교하여 num이 크면 업데이트를 하고, right 업데이트도 마찬가지로 기존 right과 num을 비교하여 num이 더 작을경우 right을 업데이트 한다.

 

Code

# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
def solution(K, numbers, up_down):
	left = 1
	right = K
	for num, word in zip(numbers, up_down):
		if word == "UP":
			left = max(left, num)
		elif word == "DOWN":
			right = min(right, num)
		elif word == "RIGHT":
			return 1
	return right-left-1

K1 = 10
numbers1 = [4, 9, 6]
up_down1 = ["UP", "DOWN", "UP"]
ret1 = solution(K1, numbers1, up_down1)

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

K2 = 10
numbers2 = [2, 1, 6]
up_down2 = ["UP", "UP", "DOWN"]
ret2 = solution(K2, numbers2, up_down2)

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

K3 = 100
numbers3 = [97, 98]
up_down3 = ["UP", "RIGHT"]
ret3 = solution(K3, numbers3, up_down3)

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

 

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

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

728x90
반응형
Comments