예꾸
개발자국
예꾸
전체 방문자
오늘
어제
  • 분류 전체보기 (111)
    • CS (6)
      • 데이터베이스 (5)
      • 운영체제 (0)
      • Computer Architecture (1)
    • 끄적끄적 (4)
    • 이론 (29)
      • 알고리즘 (18)
      • 자료구조 (4)
      • WEB (2)
      • JS (2)
      • Git (2)
      • Python (1)
    • 면접준비 (3)
      • Vue (1)
      • Design Pattern (1)
      • Frontend (1)
    • 개발기술 (20)
      • Git PUSH 자동화 (3)
      • VUE (1)
      • Linux (2)
      • MERN Stack (2)
      • React기반 Gatsby로 블로그 개발하기 (6)
      • Typescript (0)
      • 감정일기장(React) (3)
      • CI CD (3)
    • 코드트리 (6)
      • 블로그 챌린지 (3)
      • 모의시험 (3)
    • 취업준비 (3)
      • 코딩테스트 후기 (3)
    • 프로그래머스 (8)
      • SQL (7)
      • 알고리즘 (1)
    • 백준 (31)
      • 그리디(탐욕법) (6)
      • 구현 (5)
      • 그래프탐색(dfs, bfs) (5)
      • 완전탐색 (5)
      • 문자열 (5)
      • 누적합 (2)
      • DP(다이나믹 프로그래밍) (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 알고리즘
  • 나만의공부노트
  • 백준 문자열
  • 컴퓨터 시스템의 구조
  • 프로그래머스
  • 백준 완전탐색
  • 백준 그래프탐색
  • 코드트리
  • JS
  • 코드트리 추천
  • 운영체제
  • 코딩테스트
  • javascript
  • 백준 구현
  • gatsby
  • 프로그래머스 SQL
  • React
  • 백준 그리디
  • 코딩테스트실력진단
  • 자료구조

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
예꾸

개발자국

[백준 2798] 블랙잭 - python
백준/완전탐색

[백준 2798] 블랙잭 - python

2021. 6. 9. 00:29

https://www.acmicpc.net/problem/2798

 

2798번: 블랙잭

첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장

www.acmicpc.net

 

문제풀이

  • 완전탐색 문제여서 3중 for문을 사용해 문제를 해결했습니다
  • 첫번째 카드를 i, 두번째 카드를 j, 세번째 카드를 z로 놓고 순서대로 탐색하도록 했습니다
  • m과 카드의 합을 뺐을 때 값(min_sub_value)이 그 전에 저장한 min_sub_value보다 작고, 카드 합이 m보다 작을 때만 result로 저장되도록 설정했습니다 
n, m = map(int, input().split())
number = list(map(int, input().split()))

max_value = 0
min_sub_value = 987654321
result = 0
for i in range(n-2):
    for j in range(i+1, n-1):
        for z in range(j+1, n):
            max_value = number[i] + number[j] + number[z]
            # print(max_value, number[i], number[j], number[z])
            if min_sub_value > m - max_value and max_value <= m:
                min_sub_value = m - max_value
                result = max_value
                # print(result)
                

print(result)

 

    '백준/완전탐색' 카테고리의 다른 글
    • [백준 15721] 번데기 - python
    • [백준 18312] 시각 - python
    • [백준 19532] 수학은 비대면강의입니다 - python
    • [백준 2231] 분해합 - python
    예꾸
    예꾸
    비전공자 옒의 개발이야기💻

    티스토리툴바