Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- node.js
- 배열
- 자바연산자
- express
- 키패드
- 2차원배열
- 자바변수
- 자바
- while
- 반복문
- berak
- LV1
- 자바실습문제
- 프로그래머스
- array
- 문제풀이
- for
- dowhile
- 정적파일
- 모달팝업
- URL생성
- 레이어팝업
- 백준
- Java
- Spring
- KH정보교육원
- 적용
- 레이어팝업URL
- 분기문
- CONTINUE
Archives
- Today
- Total
까잉이의 개발노트
[ 백준 11720 ] 숫자의 합 JAVA(자바) 문제풀이 본문
이 문제는 처음 받는 숫자는 1~100개 숫자를 입력받으며, 다음 둘째 줄 숫자의 총 자리수를 입력하는 것이다.
그리고 둘째 줄 숫자는 처음 받은 숫자만큼 입력할 수 있고 둘째 줄 숫자 총 합을 구하는 문제이다.
사실 나는 문제가 이해가 안되서 예제를 뚫어져라 봐서 이해했다;;
풀이순서
1. 첫번째 숫자 입력을 받고 1~100 사이의 숫자가 맞는지 if문으로 걸러준다.
2. 2번째 숫자를 String으로 입력 받고 입력받은 자릿수가 첫번째에 받은 숫자보다 큰지 확인한다
3. for문을 돌려 2번째 입력받은 것을 charAt으로 한자리씩 더하는데
int로 받기 때문에 아스키 코드 값으로 가져온다
그래서 '1'은 아스키코드값으로 49인데 '0'은 아스키코드로 48이므로
끝에 '0'을 빼주면 제대로 입력받은 숫자로 변환이 된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
if(num1 < 0 && num1 > 100) return;
sc.nextLine();
String num2 = sc.nextLine();
if(num2.length() > num1) return;
int result = 0;
for(int i = 0; i < num2.length(); i++) {
result += num2.charAt(i) - '0';
}
System.out.println(result);
}
}
'개발문제풀이' 카테고리의 다른 글
[ 백준 1157 ] 단어 공부 JAVA(자바) 문제풀이 (0) | 2022.07.11 |
---|---|
[ 백준 10809 ] 알파벳 찾기 JAVA(자바) 문제풀이 (0) | 2022.07.01 |
[ 백준 4344 ] 평균은 넘겠지 JAVA(자바) 문제풀이 (0) | 2022.03.25 |
[ 백준 8958 ] OX퀴즈 JAVA(자바) 문제풀이 (0) | 2022.03.25 |
[ 백준 1546 ] 평균 JAVA(자바) 문제풀이 (0) | 2022.03.24 |
Comments