Algorithm/Baekjoon(Java)

[백준/JAVA] 8393 : 합

비망노트 2022. 7. 8. 22:58
문제

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

 

입력

첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.

 

출력

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

 

예제 입력 예제 출력
3 6

 

⭕ 풀이

import java.io.*;

public class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        int sum = 0;
        for(int i=1;i<=n;i++){
            sum += i;
        }
        System.out.println(sum);
    }
}

for문내에서 증가되는 i의 값을 누적해서 받을 변수 sum을 for문밖에서 선언한다.

for문 안에서 선언하면 계속 0으로 초기화되기때문에 의미가 없어진다.

그렇게 sum에 증가하는 i를 누적하고 출력하면되는 평범한 누적합 반복문이다.

 

 

✅ 다른분의풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		System.out.println(n*(n+1)/2);
		br.close();
	}
}

15가 주어졌다면 15*(15+1) 240이나오고 2로나누면 120이된다.

1부터 15까지 누적합을 해도 120이 된다.

수포자라 이런생각은 못해봤다.. 신기하다

 

 

 

-출처

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

 

'Algorithm > Baekjoon(Java)' 카테고리의 다른 글

[백준/JAVA] 2741 : N 찍기  (0) 2022.07.09
[백준/JAVA] 15552 : 빠른 A+B  (0) 2022.07.09
[백준/JAVA] 10950 : A+B - 3  (0) 2022.07.07
[백준/JAVA] 2739 : 구구단  (0) 2022.07.06
[백준/JAVA] 2480 : 주사위 세개  (0) 2022.07.05