BOJ 11720

2020-01-25

위 문제는 백준 사이트의 알고리즘 11720 문제에 관한 설명입니다.


문제

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

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner sc= new Scanner(System.in);
		int N = sc.nextInt();
		String Num = sc.next();
		int sum =0;
		int array[]= new int[N];
		for(int i = 0;i<N;i++)
		{
			array[i] = Integer.parseInt(Character.toString(Num.charAt(i)));
			sum+=array[i];
		}
		System.out.println(sum);
	}
}

제가 푼 소스코드 입니다.

String으로 한번에 받은뒤 charAt()으로 하나씩 만들어내고 String형으로 만들었다가 int형으로 변형시켰습니다.

import java.util.Scanner;
 
class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int a = scan.nextInt();
    String sum = scan.next();
    int result = 0;
    if(!((1<=a)&&(a<=100))) {
      System.exit(0);
    }
    for(int i = 0; i < a; i++) {
      result += (sum.charAt(i)-'0');
    }
    System.out.println(result);   
  }// end of main
}

디스프로그래머님 티스토리

(sum.charAt(i) - ‘0’) 방법은 각 문자들에 대한 ASCII값을 구해서 더하는 방식입니다.

0의 ASCII값은 48인데 1에서 9는 차례대로 49에서 57이기 때문입니다.

사람마다 소스코드를 구성하는 방식이 다르다보니 쉬운 문제라도 다시 한번 생각하게 됩니다.

숫자의 합


25일 하루종일 집에서 부스트코스 과제 보충을 했습니다.

기능적인 부분에선 상당히 잘돌아갔으나 HTML과 CSS 네이밍 컨벤션, html layout tag(nav, footer, article등)의 활용,

DateTimeFormatter와 같은 유용한 포매터를 추가적으로 사용했습니다. 보람찬 하루.