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);
}
}
# 입/출력 결과
# 과정
BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
입력 받은 값은 int n에 저장.
최종 값을 담을 변수 생성 및 초기화. int result = 0;
for문을 사용하여 1부터 n까지의 합을 result에 담는다.
for문 밖에서 result의 값을 출력한다.
# 느낀 점
이번 문제는 for문으로 문제를 풀었다.
내가 푼 문제 방식 보다 효율적인 방식이 있는지 궁금해서 chat-gpt에 물어보니 시간 복잡도 0(n)을 말한다고 했다. 그래서 수학 공식 n(n + 1) / 2 를 사용하면 반복 없이 해결할 수 있다는 식을 알려주었다.
반복문 단계의 문제라서 반복문만 생각했는데 chat-gpt가 알려준 수학 공식을 보니, 수학도 공부해야 한다는 것이 좋겠다라고 생각했다.