반응형
문제(출처)
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
예제 입력1
1
1
예제 출력1
1
예제 입력2
5
54321
5
54321
예제 출력2
15
15
내 풀이
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;
public class Main { public static void main(String args[]) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // input을 선언 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // writer를 선언 try { String len = br.readLine(); // 첫 번쨰 입력 값을 받음 String str = br.readLine(); // 두 번쨰 입력 밧을 받음 int sum = 0; // 총 합을 저장 할 변수 for(int i=0; i < Integer.parseInt(len); i++) { // 0부터 시작하고 첫 번째 값만큼 1씩 증가하는 반복문 sum += (int) str.charAt(i)-48; // 두 번째 값을 한 문자씩 읽어오고 아스키 코드 교정을 위해 -48하여 합함 } bw.write(String.valueOf(sum)); // 결과 출력 bw.flush(); bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String args[]) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // input을 선언
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // writer를 선언
try {
String len = br.readLine(); // 첫 번쨰 입력 값을 받음
String str = br.readLine(); // 두 번쨰 입력 밧을 받음
int sum = 0; // 총 합을 저장 할 변수
for(int i=0; i < Integer.parseInt(len); i++) {
// 0부터 시작하고 첫 번째 값만큼 1씩 증가하는 반복문
sum += (int) str.charAt(i)-48;
// 두 번째 값을 한 문자씩 읽어오고 아스키 코드 교정을 위해 -48하여 합함
}
bw.write(String.valueOf(sum)); // 결과 출력
bw.flush();
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
내 풀이 해석 및 느낀점
입력 받은 첫번째 값만큼 두번째 값을 입력받습니다.
입력 받은 첫번째 값만큼 반복하여 두번째 값을 합하여 출력합니다.
1자리 수만 입력 받을 수 있는 문제입니다.
만약 2자리 수라면?
반응형
'개발(합니다) > 알고리즘&코테' 카테고리의 다른 글
알고리즘 단계별로 풀어보기 : BOJ-15552(빠른A+B) (0) | 2018.12.15 |
---|---|
알고리즘 단계별로 풀어보기 : BOJ-111721(열 개씩 끊어 출력하기) (0) | 2018.12.14 |
알고리즘 단계별로 풀어보기 : BOJ-8393(합) (0) | 2018.12.14 |
알고리즘 단계별로 풀어보기 : BOJ-1924(2007년) (0) | 2018.12.13 |
알고리즘 단계별로 풀어보기 : BOJ-2441(별찍기 [4]) (0) | 2018.12.12 |