728x90
[문제]
https://www.acmicpc.net/problem/3040
3040번: 백설 공주와 일곱 난쟁이
매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다.
www.acmicpc.net
[코드]
- 처음 푼 풀이: 함수를 사용해서 풀어주었다.
def find(arr,x):
for i in range(9):
for j in range(i+1,9):
if sum(arr) - (arr[i] + arr[j]) == 100:
for k in range(9):
if k != i and k != j:
x.append(arr[k])
return x
#main
arr = []
for i in range(9):
arr.append(int(input()))
x = []
check = find(arr, x)
for n in check:
print(n)
두번째 푼 풀이: 함수를 사용할 필요도 없었고, 삼중 반복까지 갈 필요가 없었다.
* arr.pop 할 때 주의할 점: 큰 수부터 pop 해주어야 IndexError: pop index out of range 에러가 뜨지 않는다.
arr = [int(input()) for _ in range(9)]
for i in range(9):
for j in range(i+1,9):
if sum(arr) - (arr[i]+arr[j]) == 100:
x, y = i, j
break
arr.pop(y); arr.pop(x)
for i in arr:
print(i)
반응형
'🚩 Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ][Python] 2164 카드 2 (0) | 2024.04.17 |
---|---|
[BOJ][Python] 17478 재귀함수가 뭔가요? (0) | 2024.04.17 |
[BOJ][Python] 25501 재귀의 귀재 (0) | 2024.04.16 |
[BOJ][Python] 1010 다리 놓기 (0) | 2024.04.12 |
[BOJ][Python] 15650 N과 M (2) (0) | 2024.04.12 |