728x90
백준 온라인 저지 11720번
https://www.acmicpc.net/problem/11720
문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
예제 입력 1
1
1
예제 출력 1
1
예제 입력 2
5
54321
예제 출력 2
15
예제 입력 3
25
7000000000000000000000000
예제 출력 3
7
예제 입력 4
11
10987654321
예제 출력 4
46
[실패 코드]
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int totalCnt = 0;
int cnt = scanner.nextInt();
int number = scanner.nextInt();
String[] strArr = String.valueOf(number).split("");
for(int i = 0; i < strArr.length; i++){
int num = Integer.valueOf(strArr[i]);
totalCnt += num;
}
System.out.println(totalCnt);
}
}
[성공 코드]
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int totalCnt = 0;
int cnt = scanner.nextInt();
//N이 100이하의 자리 수이기 때문에 int, long형으로 받을 수 없다.
String numberStr = scanner.next();
char[] cNumArr = numberStr.toCharArray();
for(int i = 0; i < cNumArr.length; i++){
//아스키코드로 char형을 int형으로 바꾼다.
// -'0'을 해도 되고, -48을 해도 된다.
totalCnt += cNumArr[i] - '0';
}
System.out.println(totalCnt);
}
}
[참고]
String 을 Array 로 변환할 때 효율
알고리즘 테스트 리뷰를 하던중 String 의 index 를 배열로 바꿀 때 어떤 방법이 효율이 좋을지 궁금증이 생겼다.효율성을 테스트하기위해서 System.\*nanoTime\*() 를 이용했다.시간 측정을 원하는 로직
velog.io
'Java > 코딩테스트' 카테고리의 다른 글
[백준-11659] 구간 합 구하기 (0) | 2024.06.26 |
---|---|
평균 구하기 (0) | 2024.06.26 |
[Do it!] 섹션0.코딩테스트 준비하기 (0) | 2024.05.17 |
[프로그래머스/JAVA] 스택/큐 기능개발 (0) | 2021.11.29 |
[ 프로그래머스/JAVA] 위장 SPY 해시 (0) | 2021.11.10 |