728x90
반응형
(문제)
-100 이상 100이하의 서로다른 정수 20개를 랜덤하게 생성해서 리스트에 추가한 뒤, 리스트를 출력
일단 여기까지는 아래 코드를 이용해서 리스트 출력을 했어요.
import random
random_list = [random.randint(-100, 100) for i in range(20)]
print(random_list)
문제는 아래입니다. 어떻게하는지 알려주세요
생성한 리스트에서 세 숫자를 더한 값이 0이 되는 경우가 있는지를 탐색합니다.
세 숫자를 더해서 0이 되는 경우가 있다면 0을,
세 숫자를 더해서 0이 되는 경우가 없다면 -1을 출력합니다.
(동일한 숫자를 여러번 선택하는 경우는 고려하지 않습니다.)
(방법)
import random
lst = [random.randint(-100, 100) for a in range(20)] # -100~100 임의의 수 20개
print(lst)
flag = False # 0이 만들어지는지 확인 변수. 초기화 Flase
for a1 in range(len(lst)): # 3개의 수
for a2 in range(a1+1,len(lst)):
for a3 in range(a2+1, len(lst)):
if lst[a1] + lst[a2] + lst[a3] == 0: # 3개 수의 합이 0 인지 확인
print(lst[a1], lst[a2], lst[a3], '/sum=',sum([lst[a1],lst[a2],lst[a3]]))
flag = True # 3개 수의 합이 0 이면 flag변수 True
break # 0인 경우 찾으면 종료
if flag == True: # 0인 경우 찾으면 종료
break
if flag == True: # 0인 경우 찾으면 종료
break
if flag == True:
print(0)
else:
print(-1)
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 3의 배수 제외하고 1~n까지 더하기 (1) | 2022.12.23 |
---|---|
[파이썬] 문제 : 양수,음수,짝수,홀수 판별 (1) | 2022.12.23 |
[파이썬] 문제 : 일단위, 초단위 데이터 처리 (0) | 2022.12.23 |
[파이썬] 문제 : 음식에 대한 투표 및 비율 추력 (0) | 2022.12.23 |
[파이썬] 문제 : if 조건문 사용해서 변수값을 줄어들게 하는 방법 (0) | 2022.12.23 |
댓글