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