Section3 - 5번 문제 수들의 합 질문입니다.
353
작성한 질문수 4
# 수들의 합
import sys
sys.stdin=open("input.txt","r")
n,m=map(int,input().split())
a=list(map(int,input().split()))
result=0
for i in range(n):
sum=a[i]
print("a[i]",a[i])
for j in range(i+1,n):
if sum==m:
result+=1
break
elif sum<m:
sum = sum + a[j]
else :
break
print(result)
이 문제 관련해서 전 이런식으로 풀었는데, in 2와 in 4가 제가 출력한 값과 1씩 차이가 났습니다. ㅠㅠ 이유를 도저히 모르겠어서 질문을 드립니다. 나머지 in 1,3,5는 정상적으로 동작합니다. 어느 로직에서 잘못이 있었을까요?!
* 2중 for문으로 인한 시간복잡도는 수정할 예정입니다!
- 수업 잘 듣고 있습니다! 감사합니다.
답변 1
0
안녕하세요^^
위 코드는 수열의 마지막 부분에서 합이 m이 되는 경우를 카운팅하지 못합니다.
아래 코드처럼 출력해 보세요
# 수들의 합
import sys
sys.stdin=open("in1.txt","r")
n,m=map(int,input().split())
a=list(map(int,input().split()))
result=0
for i in range(n):
sum=a[i]
for j in range(i+1,n):
if sum==m:
result+=1
print(i, j)
break
elif sum<m:
sum = sum + a[j]
else :
break
print(result)
저라면 아래와 같이 하겠습니다. 비교해보세요.
import sys
#sys.stdin=open("in1.txt","r")
n,m=map(int,input().split())
a=list(map(int,input().split()))
result=0
for i in range(n):
sum=0
for j in range(i,n):
sum+=a[j]
if sum==m:
result+=1
#print(i, j)
break
if(sum>m):
break
print(result)
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
0
76
2
스택에서 ')'을 만나는 경우
0
77
3
문제가 어디있나요?
0
63
2
변수 or 함수명
0
60
1
침몰하는 타이타닉 문제 질문입니다
0
53
1
AA.py 책점 에러
0
57
1
오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.
0
111
2
5.동전분배하기 문제 밑에코드도 정답이될까요?
0
108
1
아나그램 비교 코드
0
115
2
AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.
0
159
2
문제 링크가있나여?
0
147
2
채점기 Time Limit Exceeded 오류 문의
1
162
2
동적계획법은 사용하는 문제
0
124
2
제 코드 좀 봐주세요
0
147
1
예외가 존재할 가능성?
0
96
1
3번이 안풀립니다
0
92
0
5번 틀림
0
112
0
오류원인?
0
97
0
리스트 선언
0
106
1
침몰하는 타이타닉(그리디) 문제 질문
0
109
1
알고리즘
0
65
1
코딩테스트
0
88
1
DFS 순서 질문드립니다.
0
120
2
left, right를 사용한 풀이법에 대한 질문입니다
0
88
1





