본문 바로가기
프로그래밍/백준 문제 풀이(자바)

백준 11720번 자바 문제 답/해설(숫자의 합 문제)

by 리드민 2021. 12. 3.
반응형

[1] 백준 카테고리
단계별로 풀어보기

문자열

2단계 11720번 문제

숫자의 합

https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net


[2] 문제

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
1. 입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
2. 출력
입력으로 주어진 숫자 N개의 합을 출력한다.
3. 예제 입력 1
1

1
4.예제 출력 1
1

5. 예제 입력2

5

54321

6. 예제 출력2

15


[3] 정답

1. 정답 해설 미포함

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String inputs = sc.next();
		sc.close();
		
		int result = 0;
		for (int i = 0; i < n; ++i) {
			result += inputs.charAt(i) - '0';
		}
		System.out.println(result);
	}
}


2. 정답 해설 포함

import java.util.Scanner;
//java.util.Scanner 클래스를 import한다.
public class Main {
//접근제어자 public으로 Main 클래스를 선언한다.

	public static void main(String[] args) {
	// 접근제어자 public으로 메모리에 상주하게 리턴값이 없이 main 함수를 선언
		Scanner in = new Scanner(System.in);
		// Scanner 객체 in 선언
		int n = in.nextInt();
		// int형 변수 n를 선언하고 값을 입력받아 변수에 저장한다.
		String input = in.next();
		// String 객체 input를 선언하고 값을 입력받아 저장한다.
		in.close();
		// 객체 in 사용을 종료한다.
		
		int sum = 0;
		// int 형 변수 result를 선언하고 0으로 초기화한다.
		for (int i = 0; i < n; ++i) {
		// for 문을 선언한다.
			sum += input.charAt(i) - '0';
			// sum + input.charAt(i) - '0'를 연산한다.
		}
		System.out.println(sum);
		// result에 저장된 값을 출력한다.
	}
}

붙어있는 숫자면 같이 입력받으므로 문자열로 입력 받아서 한 글자씩 처리해주어야한다.

int 형과 char형에 + 혹은 - 연산자를 사용하면 char형이 int 형으로 변환되어 계산되게 된다.

반응형