일곱 난쟁이 [2309]

2021. 3. 8. 03:01알고리즘/파이썬

반응형

일곱 난쟁이 [2309]

백준 - https://www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.

www.acmicpc.net

깃헙 - https://github.com/shs9509/study

문제

  • 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다.

  • 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다.

  • 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다.

  • 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다.

  • 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오.


입력

  • 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다.

  • 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 "아무거나" 출력한다.

출력

  • 일곱 난쟁이의 키를 오름차순으로 출력한다.

  • 일곱 난쟁이를 찾을 수 없는 경우는 없다.


풀이과정

  • 9가지중에서 7개로 이루어진 순열을 만들면 된다.

  • 7개의 순열을 만들었을때 sum 통해 합을구해 100을 판별하고 바로 빠져 나오도록 한다.

깃헙에 코드있음!


느낀점

  • 순열 문제는 익숙해져서 접근하는데 어렵지않았다.

  • 하지만 다른의견을 보았을때 100인것을 찾고 바로 flag를 통해 끝내기 보다

    • `perm(n+1,m,val)` 의 return 값을 통해서 조율하는 방식이있다는데 잘안된다.

    • 좀더 알아봐야 겟다.

이런식?

반응형

'알고리즘 > 파이썬' 카테고리의 다른 글

암호만들기 [1759]  (1) 2021.03.12
적록색약 [10026]  (0) 2021.03.08
블랙잭 [2798]  (0) 2021.03.08
색종이 [10163]  (0) 2021.02.24
스위치 켜고 끄기 [1244]  (0) 2021.02.24