반응형
이번 문제는 기존에 풀었던 문제 중에 블랙잭이라는 문제와 비슷한 문제이다.
각자 받은 5개의 카드 중 3개를 골라 큰 일의 자리를 가지는 사람의 번호를 출력하는 문제로 각자 받은 5개의 카드 중 어떤 3개의 카드를 골라야 일의 자리가 가장 큰지는 모든 경우의 수를 다 확인해주는 완전 탐색을 통해 큰 지 찾아내어 비교하였다.
다음과 같은 코드를 통해 통과하였다.
import sys
input = sys.stdin.readline
N= int(input())
biggest_num = 0
big_people = 0
for i in range(N):
card_list = list(map(int, input().split()))
big_num = 0
for j in range(5):
for k in range(j+1, 5):
for p in range(k+1, 5):
num = card_list[j] + card_list[k] + card_list[p]
if (num%10) > big_num:
big_num = (num%10)
if big_num >= biggest_num:
biggest_num = big_num
big_people = i+1
print(big_people)
효율적이고 더 간단히 적고 싶다면 파이썬의 순열조합 라이브러리를 이용하면 된다.
아래의 코드로도 통과하였다.
import sys
from itertools import combinations
input = sys.stdin.readline
N= int(input())
biggest_num = 0
big_people = 0
for i in range(N):
card_list = list(map(int, input().split()))
big_num = 0
for j in combinations(card_list, 3):
if big_num < (sum(j)%10) :
big_num = (sum(j)%10)
if big_num >= biggest_num:
biggest_num = big_num
big_people = i+1
print(big_people)
확실히 한번 문제 유형 익히면 비슷한 문제가 나올 때 더 수월히 풀 수 있는 것 같다.
결론은 연습이라는 거지...?ㅠㅠ
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘/백준] 1063번 킹 Python 파이썬 (0) | 2023.02.26 |
---|---|
[알고리즘/백준] 2578번 빙고 Python 파이썬 (0) | 2023.02.23 |
[알고리즘/백준] 1331번 나이트 투어 Python 파이썬 (2) | 2023.02.23 |
[알고리즘/백준] 2511번 카드 놀이 Python 파이썬 (0) | 2023.02.21 |
[알고리즘/백준] 2798번 블랙잭 Python 파이썬 (0) | 2023.02.21 |
댓글