CODING TEST/baekjoon

#8393 - 합

iamyuunzo 2025. 7. 6. 21:22

📌 문제 정보

- 문제 이름 : #8393 - 합

- 문제 링크: https://www.acmicpc.net/problem/8393

 

 

📌 문제 요약

- 핵심 조건: n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성

- 시간복잡도 제한: 없음

 

 

📌 내 풀이 및 코드

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i, k, n;
        k=0;
        n = sc.nextInt();

        for (i=1; i<=n; i++) {
            k = n + i;
        }

        System.out.println(k);
    }
}

 

<-- 내가 처음에 어떻게 풀었는지 -->

- 예제 답이 맞아서 그냥 넘어갈 뻔했는데 다른 숫자를 넣어보니 값이 다르게 나옴.

- 원인 : 내가 쓴 for문이 k에 매번 n+i를 넣고 있어서 k가 계속 덮어써지는 문제가 생김.

- k = 1 + 2 + 3 + ... + n (k 누적해서 더해져야하는데 그게 안되는 논리였음.)

 

 

📌 최종 정답 및 풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i, k, n;
        k=0;
        n = sc.nextInt();

        for (i=1; i<=n; i++) {
            k += i;
        }

        System.out.println(k);
    }
}

<-- 풀이 요약 -->

- = (덮어쓰기) 가 아니라 += (누적)이어야 함.

- k+=i -> k=k+i (이 문법 알고는 있었는데 구현할 때 기억이 안났음.. 문제 이해 능력.. 길러야할듯)

 

 

<-- 다른 풀이 요약 -->

- .

📌 새로 배운 문법

<-- 이번 문제에서 새로 배운 Java 문법 정리 -->

- .