Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

Cafe Binary Notation

[백준 알고리즘 8393번] 합 (자바) 본문

Java/알고리즘

[백준 알고리즘 8393번] 합 (자바)

켄달지나 2018. 2. 13. 23:31

단계별로 풀기: 3단계-9



문제:


n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.


입력:


첫째 줄에 N (1<=N<=100)이 주어진다.




출력:


1부터 n까지 합을 출력한다.





나의 답안:



첫번째 오답


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.*;
 
public class Main {
    public static void main(String[] args){
        
        Scanner scan = new Scanner(System.in);
        
        int num = scan.nextInt();
        
        for(int i=1; i<=num; i++) {
            num += i;         
        }
        
        System.out.println(num);
        
                
    }
}
 
cs







두번째 정답:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.*;
 
public class Main {
    public static void main(String[] args){
        
        Scanner scan = new Scanner(System.in);
        
        int num = scan.nextInt();
        
        int sum = 0;
        for(int i=1; i<=num; i++) {
            sum += i;         
        }
        
        System.out.println(sum);
        
                
    }
}
cs








문제 보는순간, '발가락으로 풀겠군' 했는데

틀.렸.다..

그리고 심지어 왜 틀렸는지 한참동안 몰랐다고 한다



num에다가 i를 계속 더해나가니까

출력했을때 -213248458 이런 숫자들이 나왔다


nextInt()로 숫자를 받아서 num에 들어가니까

num에는 이미 입력받은 숫자가 들어있는거 아닌가?

그 숫자에서부터 i를 더해나가는건데 왜 -28954389 같은 숫자가 나오는지 아직도 모르겠다


어쨌든 직감적으로 뭔가 sum이 필요할거같아서

새롭게 sum을 정의하고 했더니 잘 됨.