728x90
백준11720_숫자의 합 구하기
1) 문제 분석하기
1-1) N의 범위가 1부터 100까지 이므로 int형, long형과 같은 숫자형으로 담을 수 없다
1-2) 문자열형태로 입력받고 이를 문자열 배열로 변환 후, 문자 배열값을 순서대로 읽어오면서 숫자형으로 변환해 더해야 합니다.
1-3) 적절한 함수 사용
- 입력 : Scanner
- String타입 -> char타입 변환후 배열 : tocharArray
- for 반복문
2) 손으로 써가며 풀어보기
3) 슈도코드 작성하기 (Pseudo-code란?프로그램의 진행 과정을 단계별로 기록해 놓은 것.
- N값 입력 받기
- N의 숫자를 입력받아 String형 변수 sNum에 저장
- sNum을 다시 char[]형 변수 cNum[]에 변환하여 저장
- int형 변수 sum선언하기
- for(sNum 길이만큼 반복하기)
- 배열의 각 자리값을 정수형으로 변환하여 sum에 누적하여 더해주기
- sum 출력하기
4) 구현하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String sNum = sc.next();
char cNum[] = sNum.toCharArray();
int sum = 0;
for (int i = 0; i < cNum.length; i++) {
// -'0' 을 해주는 이유는 아스키코드
//문자열을 int형으로 변환해줄때는
//문자열 -'0' 을 꼭 해줘야 합니다.
sum += cNum[i] - '0';
}
System.out.println(sum);
}
}
728x90