숨겨진 합 질문드립니다.
150
13 asked
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
답이 틀렸다고 나오는데, 어디가 잘 못 된건지 궁금합니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] argvs) {
Scanner sc = new Scanner(System.in);
String s=sc.next();
int res=0;
int sum=0;
for(char x : s.toCharArray()) {
if(Character.isDigit(x)) {
res = res*10 + (x-48);
}
else {
sum+=res;
res=0;
}
}
System.out.print(sum);
}
}
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
xogh7532님, 코드를 살펴보니 숨겨진 합을 계산하는 과정에서 한 가지 작은 오류를 발견했습니다.
주어진 코드는 문자열 s에서 숫자를 찾아 누적하여 합을 계산하는 로직을 구현하고 있습니다. 그러나 코드의 로직에서 마지막으로 발견된 숫자가 합산되지 않는 문제가 있습니다. 이는 문자열의 마지막이 숫자로 끝날 경우, 그 숫자를 더하지 않고 루프가 종료되기 때문입니다.
이를 수정하기 위해서는 for 루프가 종료된 후에 sum에 res를 한 번 더 더해주는 로직을 추가해야 합니다. 아래는 수정된 코드의 일부입니다.
for(char x : s.toCharArray()) {
if(Character.isDigit(x)) {
res = res*10 + (x-48);
}
else {
sum+=res;
res=0;
}
}
sum += res; // 이 부분을 추가해주세요.
System.out.print(sum);
코드의 끝에 sum += res;를 추가하면 마지막으로 누적된 res값도 sum에 정상적으로 더해져 최종 합산 결과를 올바르게 출력할 수 있습니다.
이 변경을 적용하면 문제를 해결할 수 있습니다. 질문 주셔서 감사합니다. 드릴 수 있는 도움이 되었기를 바라며, 코딩 공부에 더 도움이 필요하시면 언제든지 질문해 주세요!
바둑돌에 조합을 구하는 dfs는 설명이 어딨나요
0
96
1
알고리즘이라.. 강의 설명때 모식도가 있으면 더좋겠어요
0
160
1
BFS 코드 중에 이해가 안되는 부분이 있습니다.
0
219
1
호텔 연결 질문드립니다.
0
157
1
최대 선호 음식 질문드립니다.
0
217
1
제품이동 질문드립니다.
0
126
1
송아지 찾기2 질문드립니다.
0
125
1
정사각형 그리기 질문드립니다.
0
142
1
호텔연결
0
143
1
중복된 문자 제거 코드
0
215
1
전투게임
0
168
1
숲속의 기사
0
131
1
멀티태스킹 질문드립니다.
0
194
1
숨겨진 합 자바 질문드립니다.
0
135
1
영화관람 시간초과 질문드립니다.
0
192
1
[2-5] 최대선호음식 시간초과..
0
263
1
dp 풀이는 어려운가요?
0
399
2
문제 의문
0
296
2
모의고사 7회 2번 송아지 찾기 테스트케이스 3번, 4번 오류
0
313
1
안녕하세요. 궁금한점이 있어서 질문드립니다.
0
244
1
BFS 참고하세요
0
265
1
#include<bits/stdc++.h>
0
761
1
잔디 문제 해설 c로 바꿔서 출력할 때
1
374
1
조합을 구할때 algorithm 함수 next_permutation 사용 가능 여부
0
459
1

