방명록
- [알고리즘][파이썬] 백준_2798_블랙잭2021년 12월 02일 12시 38분 35초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
N장의 카드가 주어졌을때, 카드 3장의 숫자 합이 M을 넘지 않으면서 M에 최대한 가까운 값을 구해 출력해야 한다.
제출 코드
# for반복문, max함수 이용(결과: 맞았습니다!) def bkj(N, M): rst = [] for i in range(N): for j in range(i+1, N): for k in range(j+1, N): n = lst[i] + lst[j] + lst[k] if n <= M: rst.append(n) return max(rst) N, M = map(int, input().split()) lst = list(map(int, input().split())) print(bkj(N, M))
해결한 방법
아래 [표1]은 for 반복문 수행 시 rst 리스트의 index에 차례로 append되는 합값을 정리한 것이다.
제출된 코드에는 이 합값 중 M값과 같거나 적은 값만 append 되도록 if 조건문을 추가하였다.
최종적으로 rst 리스트에서 가장 큰 값을 return하였다.
728x90반응형'CS > 코딩 테스트' 카테고리의 다른 글
[알고리즘][파이썬] 백준_7568_덩치 (0) 2021.12.05 [알고리즘][파이썬] 백준_2231_분해합 (0) 2021.12.03 [알고리즘][파이썬] 백준_11729_하노이 탑 이동 순서 (0) 2021.11.30 [알고리즘][파이썬] 백준_2447번_별 찍기 - 10 (0) 2021.11.26 [알고리즘][파이썬] 백준_10870번_피보나치 수 5 (0) 2021.11.25 다음글이 없습니다.이전글이 없습니다.댓글