블랙잭

경우의 수 다 생각해서 더한 다음에 M보다 작거나 같으면 저장, 큰 거 result로 최종 저장

#2798 블랙잭
N, M = list(map(int, input().split()))
card = list(map(int, input().split()))

result = 0
length = len(card)

count = 0
for i in range(0, length):
    for j in range(i+1, length):
        for k in range(j+1, length):
            sum = card[i] + card[j] + card[k]
            if sum <= M: 
                result = max(result, sum) 

print(result)

번데기

튜플 쓰기

#15721 번데기
A = int(input())
T = int(input())
N = int(input())

games = [] # 게임 진행 상황 (튜플로 저장)
bbun = 1 # 뻔 을 외친 횟수
degi = 1 # 데기 를 외친 횟수
cnt = 0 # 몇번째 게임인지 

while(True):
    num = bbun # 이전 회차에서 뻔 or 데기를 외친 누적 횟수
    cnt += 1
    
    # 1) 처음에 뻔 - 데기 - 뻔 - 데기 이 4번 반복은 동일함
    for _ in range(2):
        games.append((bbun, 0))
        bbun += 1
        games.append((degi, 1))
        degi +=1 

    # 2) 뻔 - 뻔 - 반복부분
    # (1): 2번, (2): 3번, (cnt): cnt+1번
    for _ in range(cnt+1):
        games.append((bbun, 0))
        bbun +=1 
    
    for _ in range(cnt+1):
        games.append((degi, 1))
        degi += 1
        
    # 3) 정답 찾기
    # 4 <= 6 < 9: 2회차에서 찾아야 함 
    if (num <= T < bbun):
        print(games.index((T, N)) % A)
        break

후보 추천하기

사진 틀에 있으면 점수 ++

사진 틀에 없으면

꽉 차있으면 점수 젤 낮은 거 버리고 append

자리 있으면 바로 append

#1713 후보 추천하기 

N = int(input()) 
rec = int(input())
students = list(map(int, input().split())) # 
picture = [] 
score = []

for i in range(rec):
    if students[i] in picture: # 사진틀에 있으면
        for j in range(len(picture)): 
            if students[i] == picture[j]:
                score[j] += 1 
    else: # 사진틀에 없고
        if len(picture) >= N: # 사진틀 꽉차있으면
            for j in range(N):
                if score[j] == min(score): 
                    del picture[j]
                    del score[j]
                    break 
        picture.append(students[i]) 
        score.append(1)

picture.sort()
print(' '.join(map(str, picture)))