728x90
반응형
hobit = [] # 난쟁이 리스트
for _ in range(9): # 9명 입력받음
hobit.append(int(input()))
kee = sum(hobit) # 9명 난쟁이 키의 합을 구해둔다
def hobit7(hobit):
for i in range(len(hobit)-1): # 난쟁이 2명을 선택하는 모든 경우의 수 인덱스를 구해서 반복한다
for j in range(len(hobit)):
if j > i:
if kee - (hobit[i] + hobit[j]) == 100: # 난쟁이 2명을 뺀 키가 100 이라면 정답
a = hobit[i]
b = hobit[j]
hobit.remove(a) # 난쟁이 삭제
hobit.remove(b)
hobit.sort() # 정렬
for i in hobit: # 결과 출력
print(i)
return # 답을 찾으면 출력 후 함수 종료
hobit7(hobit)
완전탐색 문제이다. 문제는 매우 간단해서 쉽게 풀 줄 알았는데 코드를 짤 때 뭔가 의외의 까다로움이 있었다.
풀이는 간단하다. 아홉 난쟁이 중 2명을 고르는 모든 경우의 수를 반복문을 이용해서 만든다.
그리고 아홉 난쟁이의 키를 모두 더한 값에서, 난쟁이 2명의 키를 뺐을 때 100이 나온다면 정답이다.
난쟁이 2명을 뺄 때, 첫번째 난쟁이를 빼면 인덱스가 바뀌므로 두번째 난쟁이를 뺄 때 문제가 생길 수 있다.
따라서 요소 값을 미리 변수에 저장해둔 후, 값으로 지정해서 빼면 된다.
728x90
반응형
'Algorithm > 나머지 문제들' 카테고리의 다른 글
[프로그래머스 / Python] 배열 회전시키기 (2) | 2023.12.06 |
---|---|
[프로그래머스 / Python] 배열 만들기 5 (0) | 2023.12.06 |
[프로그래머스 / Python] 주사위 게임 3 (4) | 2023.12.05 |
[Baekjoon/JAVA] 백준 10813번 공 바꾸기 (0) | 2023.07.15 |
[Baekjoon/JAVA] 백준 14659번 한조서열정리하고옴ㅋㅋ (0) | 2023.06.30 |