happyso
study with happyso
happyso
전체 방문자
오늘
어제
  • 분류 전체보기 (302)
    • GIT (3)
    • 컴퓨터 기본 개념 (29)
    • 알고리즘 (125)
      • 알고리즘 문제 (115)
      • 알고리즘 개념 (10)
    • Go (2)
    • 클라우드 (54)
      • DevOps (4)
      • Kubernetes(쿠버네티스) (33)
      • AWS (6)
      • CKA (8)
    • 리눅스(Linux) (18)
      • 컨테이너(Container) (8)
    • Front (22)
      • JavaScript (2)
      • React (20)
    • Python (21)
      • Python 웹 크롤링 (11)
      • Django (7)
      • MachineLearning (3)
    • 데이터베이스 (6)
      • MariaDB (2)
      • MongoDB (4)
    • C언어 (5)
    • Trouble Shooting (2)
    • 네트워크 (8)
      • CCNA (5)
    • 보안 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Patch
  • 15
  • apply
  • replace
  • edit
  • 18
  • kubernetes

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
happyso

study with happyso

[python] 백준 > 부루트포스 > 백설 공주와 일곱 난쟁이
알고리즘/알고리즘 문제

[python] 백준 > 부루트포스 > 백설 공주와 일곱 난쟁이

2021. 1. 29. 14:45

[문제]

매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다.

어느 날 광산에서 아홉 난쟁이가 돌아왔다. (왜 그리고 어떻게 아홉 난쟁이가 돌아왔는지는 아무도 모른다) 아홉 난쟁이는 각각 자신이 백설공주의 일곱 난쟁이라고 우기고 있다.

백설공주는 이런 일이 생길 것을 대비해서, 난쟁이가 쓰고 다니는 모자에 100보다 작은 양의 정수를 적어 놓았다. 사실 백설 공주는 공주가 되기 전에 매우 유명한 수학자였다. 따라서, 일곱 난쟁이의 모자에 쓰여 있는 숫자의 합이 100이 되도록 적어 놓았다.

아홉 난쟁이의 모자에 쓰여 있는 수가 주어졌을 때, 일곱 난쟁이를 찾는 프로그램을 작성하시오. (아홉 개의 수 중 합이 100이 되는 일곱 개의 수를 찾으시오)

 

 

[나의 풀이]

import sys
from itertools import combinations
input = sys.stdin.readline

answer = []
in_value = [int(input()) for _ in range(9)]

# combinations를 사용하여 in_value에 존재하는 값 중에서 7개의 값을 뽑은 경우를 구한다
# permutations과 다르게 combinations는 순서는 상관하지 않는다.(조합)
all_cases = combinations(in_value, 7)

# 합이 100인 경우가 답이다.
for case in all_cases:
    if sum(case) == 100:
        answer = case

# 값을 한 개씩 출력하기 위해 for문 사용
for i in answer:
    print(i)

 

[다른 사람의 풀이]

import sys
from itertools import combinations
A = []
for _ in range(9):
    A.append(int(sys.stdin.readline()))
comb = combinations(A, 7)
for a in comb:
    if sum(a) == 100:
        result = a
        break
for a in result:
    print(a)

'알고리즘 > 알고리즘 문제' 카테고리의 다른 글

[python] 백준 > bfs > 아기상어(16236)  (0) 2021.02.02
[python] 백준15686 > 부루트포스 > 치킨 배달  (0) 2021.02.01
[python] 백준 > BFS/DFS > 빙산  (0) 2021.01.28
[python] 백준 > 다익스트라 > 파티  (0) 2021.01.27
[python] 백준 > 덱  (0) 2021.01.26
    '알고리즘/알고리즘 문제' 카테고리의 다른 글
    • [python] 백준 > bfs > 아기상어(16236)
    • [python] 백준15686 > 부루트포스 > 치킨 배달
    • [python] 백준 > BFS/DFS > 빙산
    • [python] 백준 > 다익스트라 > 파티
    happyso
    happyso

    티스토리툴바