Development Artist

[COS Pro 1급, Python] 5차 5번 : 몬스터 잡기 본문

Algorithm/COS

[COS Pro 1급, Python] 5차 5번 : 몬스터 잡기

JMcunst 2022. 2. 28. 17:04
728x90
반응형

문제 유형

 코딩

난이도

 hard

Note 

 1. '가능 강력한 아군이 이길 수 있는 적군의 수가 최대로 이길 수 있는 적군의 수'라는 것을 아는 것이 매우 중요.

 

Code

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


def solution(enemies, armies):
	answer = 0
	
	enemies.sort(reverse=True)
	armies.sort(reverse=True)
	
	for i in armies:
		n = 0
		for j in enemies:
			if i >= j:
				n += 1
				answer = max(n, answer)
	
	return answer

enemies1 = [1, 4, 3]
armies1 = [1, 3]
ret1 = solution(enemies1, armies1)

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

enemies2 = [1, 1, 1]
armies2 = [1, 2, 3, 4]
ret2 = solution(enemies2, armies2)

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

 

두번째 코드 

def solution(enemies, armies):
	answer = 0
	
	enemies.sort()
	armies.sort(reverse=True)
	
	len_armies = len(armies)
	len_enemies = len(enemies)
	
	for i in armies:
		for j in range(len_enemies-1, -1, -1):
			jv = enemies[j]
			len_enemies -= 1
			if i >= jv and len_armies > 0 and len_enemies >= 0:
				len_armies -= 1
				answer += 1
				break
	
	return answer

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

728x90
반응형
Comments