Solución en Python de Baekjoon 2798 (Blackjack)

힘센캥거루
2024년 12월 5일(수정됨)
1
16

El algoritmo de fuerza bruta consiste en probarlo todo de forma 'bruta'.

Tenemos de sobra tiempo y memoria; ¿qué puede salir mal?

Como se eligen 3 cartas, basta con ejecutar tres bucles for.

Pero cuidado con la condición de elegir la misma carta.

Los detalles están más abajo.

Omito una explicación más detallada por pereza.

# sys.stdin.readline을 이용해 데이터를 받는다.
from sys import stdin
put = stdin.readline

# 카드의 수, 그리고 목표 숫자를 받는다.
# 카드 숫자들은 map으로 쪼갠 뒤, list로 변환한다.
numOfCard, targetNum = map(int, put().split())
cardLst = list(map(int, put().split()))

# 총합들과 차이를 저장한다.
totals = []
diff = []

# 3장의 카드가 필요하므로 3번의 for문을 돈다.
# 카드리스트에서 카드를 한장씩 뽑는다.
for i in cardLst:
    for j in cardLst:
        for k in cardLst:
        
        	# 문제는 같은 카드를 뽑을 수 있다는 것.
            # 같은 카드를 뽑으면 넘어간다.
            if i == j or i == k or j == k:
                continue
                
            # 총합을 구한다.
            # 총합이 목표 숫자보다 크면 넘어간다.
            total = i + j + k
            if targetNum - total < 0 :
                continue
                
            # 조건을 모두 통과하면 총합과 차이값을 저장한다.
            totals.append(total)
            diff.append(targetNum - total)
            
# 차이값들 중 최솟값의 인덱스를 구한다. 
# totals에서 최솟값의 인덱스를 넣어 출력한다.
print(totals[diff.index(min(diff))])
Solución en Python de Baekjoon 2798 (Blackjack)-1

관련 글

Automatización de tareas escolares: revisión del boletín de vida escolar con IA – Detalles de competencias por asignatura
Automatización de tareas escolares: revisión del boletín de vida escolar con IA – Detalles de competencias por asignatura
Si tuviera que escoger la tarea más insignificante, dura y aburrida en la escuela, elegiría la revisión del boletín de vida escolar.En secundaria el b...
Reseña de lectura y experiencia del desafío del capítulo 7 de "밑바닥부터 만들면서 배우는 LLM"
Reseña de lectura y experiencia del desafío del capítulo 7 de "밑바닥부터 만들면서 배우는 LLM"
El contenido del capítulo 7 trata sobre el proceso de ajustar finamente el modelo para que siga instrucciones.Es hacer que responda como se espera ant...
Reseña de lectura del capítulo 6 de "Aprendiendo LLM desde cero"
Reseña de lectura del capítulo 6 de "Aprendiendo LLM desde cero"
El capítulo 6 trata sobre el fine-tuning para clasificación.El ejemplo que aparece es la creación de un clasificador de spam.Como el clasificador de s...
Reseña de lectura del capítulo 5 de «Aprender LLM construyéndolo desde cero»
Reseña de lectura del capítulo 5 de «Aprender LLM construyéndolo desde cero»
Hoy es 14 de diciembre.En realidad, el período del desafío ya terminó hace 2 semanas, pero aun así no podía renunciar a escribir la reseña.Porque esto...
Aprendiendo a crear un LLM desde cero – Reseña del capítulo 4
Aprendiendo a crear un LLM desde cero – Reseña del capítulo 4
Hoy es 26 de noviembre, así que si leo un capítulo al día, habré completado el reto.No sé si será posible con las interrupciones del primero y del seg...
Reseña de la lectura del capítulo 3 de LLM aprendiendo desde cero
Reseña de la lectura del capítulo 3 de LLM aprendiendo desde cero
Después de derramar agua sobre mi MacBook, entré en crisis y perdí alrededor de 3 a 4 días. Ahora que lo pienso, debería haber hecho algo, pensando que mi MacBook ya estaba arruinada y que la mandaría a reparar de todas formas. Aunque estoy un poco atrasado, quiero dejar mi reseña del capítulo 3 porque creo que debo continuar hasta el final. 1. Mecanismo de atención Capítulo 3...

댓글을 불러오는 중...