inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Do it! 알고리즘 코딩테스트 with JAVA

[배열과 리스트 실전 문제] 숫자의 합 구하기 (백준 11720)

첫번째 값으로 받는 길이값과 두번째 값으로 받는 값의 길이가 다를경우의 체크는 필요없나요?

337

Joshua_Kim

작성한 질문수 2

0

안녕하세요 선생님

해설 해주시기 전에 다음과 같이 구현하고 해설을 들었는데요, 첫번째 값의 길이값을 체크하는 로직이 없어도 되는지요?

 

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

int num = sc.nextInt();

String value = sc.next();
char[] valueArray = value.toCharArray();

int answer = 0;

if (valueArray.length == num) {
for(char charValue : valueArray) {
int numValue = charValue - '0';
answer += numValue;
}
}

System.out.println(answer);

}

java 코딩-테스트 알고리즘

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

이번 질문 내용에 대한 답변은 첫번째 값으로 받는 길이값과 두번째 값으로 받는 값의 길이가 다를 경우의 체크 여부입니다.

해당 코드에서는 입력 받은 문자열의 길이가 첫번째 입력값과 같은 경우에만 for문이 실행됩니다. 따라서 첫번째 입력값과 두번째 입력값의 길이가 다른 경우는 이미 제외되어 있는 상태입니다. 그러므로 첫번째 값의 길이값을 체크하는 로직이 따로 필요하지 않습니다.

그러나 코드에서는 입력값에 대한 검증 로직이 빠져있기 때문에 예외처리를 추가하는 것이 좋을 것입니다. 입력값이 잘못되면 예외를 던지거나 사용자에게 다시 입력받도록 안내하는 등의 방법을 사용해 입력값에 대한 검증을 해주시길 권유합니다.

감사합니다.

백준 1940 주몽의 명령 시간복잡도

0

62

0

다음영상이 문제 풀이 영상이라고 하셨는데 문제풀이 영상이 누락되어있는 것 같습니다

0

129

1

코딩테스트 디버깅

0

352

1

탐색 순서 질문

0

149

1

[P11726 2*N 타일채우기] top down 방식을 사용하니 런타임 에러가 발생합니다.

0

106

1

2018 연속된 자연수의 합 구하기 백준 사이트에서 메모리 초과 오류가 발생합니다.

0

204

1

1강 시간복잡도 중간에 중첩for문 직전에 상수는 상관없어요 하신 부분이 이해가 안됩니다

0

162

1

왜 int, long은 안되는지 궁금합니다.

0

225

1

DNA 비밀번호 (백준 12891) 통과가 안됩니다.

0

528

2

LCA 빠르게 구하기 Java 코드 시간초과

0

245

1

스택문제 백준 1874

1

460

1

백준11659 구간합 런타임 에러

0

308

1

백준 2178 미로탐색 질문 입니다.

0

449

1

구간합구하기1 (백준11659)

0

424

1

혹시 다른 ide에서 잘 돌아가는 프로그램이

0

352

1

내림차순으로 정렬하기 강의에서..

0

272

1

백준 11720 숫자의 합 질문 있습니다

0

436

1

(숫자의 합)1<=N <=100 사이의 값

0

386

1

소수구하기-백준 1929 질문

0

351

1

12891_DNA비밀번호

0

635

3

숫자의 합 구하기

0

393

1

안녕하세요 질문있습니다.

0

338

0

union 코드에 질문 있습니다.

0

407

2

[그리디 실전 문제] 최솟값을 만드는 괄호 배치 찾기 (백준 1541) - 반례를 못찾겠습니다 ㅠㅠ

1

312

1