문제 풀이 오류 문의드립니다
606
34 câu hỏi đã được viết
안녕하세요 강의 잘 보고 있습니다.
그런데 이번 문제 해설 강의에서는 빈틈이 좀 많이 보이는 것 같습니다. 소스코드만 봐도 [0,0] 같은 경우는 [0,1]이 되어야 하는데 2번째 if문에 의해 [1,0,0]이 되구요..첫번째 if-else문에서도 원소값이 9이면, 999일 때 뿐만 아니라 989나 899처럼 자릿수가 변화하지 않는 케이스들도 있는데 현 소스코드에서는 이러한 케이스들을 충분히 처리하지 못하는 것 같습니다...아래 2달전 질문 답변에서 가능한 빨리 강의 수정해주신다고 하셨는데 언제쯤 수정된 솔루션이 공개되는지 궁금합니다.
감사합니다.
Câu trả lời 7
2
안녕하세요.
엣지케이스가 여러개 있네요. 생각 못했던 부분인데 지적 감사합니다.
899, 989 , 00, 100이 케이스를 추가해서 넣어보겠습니다.
AddTwoNumbers문제 형태로 풀어보겠습니다.
자릿수 마지막에 +1을 더하고 int carry 값이 10을 넘었는지 체크
마지막에 carry==1이면 배열 첫번째 방에 1 넣기(999=>1000 형태)
github에 소스 올렸습니다.금요일에 영상 올리겠습니다.
늦게 올려서 죄송합니다~
1
이 강의 또한 위 질문과 같이 989나 899처럼 자릿수가 변화하지 않는 케이스에서 제대로 진행이 안되던데, 업데이트 된 영상이 맞는지 다시 한번 확인 가능할까요?!
0
aa 님 안녕하세요~~
확인해보니 , 989, 899가 제대로 나오는데요
아래 소스 파일 첨부했습니다.
github에 있는 소스랑 같습니다.
이상하시면 해보시고 다시 글 남겨주세요
감사합니다.
public class PlusOne {
public static void main(String[] args) {
// int[] digits = { 1, 2, 3 };
// int[] digits = {9,9,9};
// int[] digits = {9,8,9};
int[] digits = {8,9,9};
// int[] digits = {0,0,1};
// int[] digits = {0,0};
// int[] digits = {9,0,0,9};
// int[] digits = {9,9,9,9,9};
int[] result = solve(digits);
for (int i : result)
System.out.println("val: " + i);
}
public static int[] solve(int[] digits) {
int n = digits.length;
for (int i = n - 1; i >= 0; i--) {
digits[i]++;
if (digits[i] < 10) {
return digits;
}
digits[i] = 0;
}
int[] res = new int[n + 1];
res[0] = 1;
return res;
}
강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다
0
252
0
나선형매트릭스 깃허브에 코드가 없는것같아요
0
206
0
로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!
0
220
0
새로 생긴 기초강의 질문드려요
1
372
1
질문드립니다
1
218
1
Unique Paths Integer 질문입니다
0
217
1
subString 방법으로 문제 풀이 영상은 짤린건가요?
1
250
1
DFS 방식으로 푼 것이 맞나요?
0
305
2
질문드립니다~
0
194
1
left if문에 대해서
1
253
1
오타 인가요?
1
235
1
안녕하세요 강사님
1
186
1
질문 드립니다
0
170
2
Queue&Stack 문제해설집 문의
0
182
1
문제분석 로직 질문
1
227
1
시간 복잡도 문의드립니다.
1
229
1
시간복잡도 질문드립니다.
1
199
1
for-each 문 질문있습니다!
0
292
1
강의영상에서 사용된 로그 메소드가 궁금합니다.
2
279
2
강의자료 + 문제 이해 관련 질문입니다
1
276
3
강사님 오류맞나요?
1
204
1
강사님 시간 복잡도에 대해서 질문드립니다.
1
170
1
질문입니다.
1
200
1
문제에 대한 이해
1
312
1

