코딩 테스트

[코딩테스트] 백준 8593번: 합

dev.jelee 2025. 5. 13. 01:19

# 문제

 

# 코드

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());
    int result = 0;

    for (int i = 1; i <= n; i++) {
      result = result + i;
    }
    System.out.println(result);
  }
}

 

# 입/출력 결과

 

# 과정

  1. BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
  2. 입력 받은 값은 int n에 저장.
  3. 최종 값을 담을 변수 생성 및 초기화. int result = 0;
  4. for문을 사용하여 1부터 n까지의 합을 result에 담는다.
  5. for문 밖에서 result의 값을 출력한다.

 

# 느낀 점

  • 이번 문제는 for문으로 문제를 풀었다.
  • 내가 푼 문제 방식 보다 효율적인 방식이 있는지 궁금해서 chat-gpt에 물어보니 시간 복잡도 0(n)을 말한다고 했다. 그래서 수학 공식 n(n + 1) / 2 를 사용하면 반복 없이 해결할 수 있다는 식을 알려주었다.
  • 반복문 단계의 문제라서 반복문만 생각했는데 chat-gpt가 알려준 수학 공식을 보니, 수학도 공부해야 한다는 것이 좋겠다라고 생각했다.