![[백준] 8393 - 합](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbE6sDM%2Fbtsyzb9I6x9%2Fl3Rtfj20kYecL2t0RGzNj1%2Fimg.png)
[백준] 8393 - 합알고리즘/백준2023. 10. 17. 16:44
Table of Contents
• 문제
1부터 n까지의 합을 구하는 간단한 문제이다.
• 풀이
반복문을 이용해서 풀어 볼 것입니다.
지금까지는 for문을 사용하여 문제를 풀었으므로 이번문제에선 while문을 사용해보겠습니다.
복합대입연산자를 사용한다면 간단히 풀 수 있는문제입니다 !
1~n까지의 값들을 sum변수를 선언해 누적합을 해주면 됩니다.
while문 사용
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
while(n>0) {
sum += n;
n--;
}
System.out.println(sum);
}
}
while문은 조건식이 참이면 실행블록을 수행하는 반복문입니다.
for문과 다른점은 초기화식, 증감식이 없다는 점입니다.
따라서 while문을 사용하기 위해서는 while문 이전에 초기화되어있는 변수를 조건식에 넣어야하고, while문 안에는 증감식이 들어가야합니다.
n의값을 sum에 누적합해준뒤에 n--를 하여 n값을 하나씩 빼다가 n이 0이되면 조건식은 false가 되어 실행블록을 빠져나옵니다.
for문 사용
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
for(int i=1; i<=n; i++) {
sum+=i;
}
System.out.println(sum);
}
}
주의할 점이있다면 for문의 초기화식과 조건식입니다.
i=0로 초기화할 경우 덧셈연산이기때문에 결과에는 지장이 없지만 굳이 하지않아도 되는 연산을 한 번 수행하는 셈이 되기때문에
i를 1로 초기화해주고, 결과값을 구할 때 n값은 포함되어야하기때문에 i<=n 까지 조건식을 만들어줍니다.
•마무리
while문과 for문은 상황에 맞게 사용하는 것이 효율적인 것 같다.
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 25314 - 코딩은 체육과목 입니다 (0) | 2023.10.18 |
---|---|
[백준] 25304 - 영수증 (0) | 2023.10.17 |
[백준] 10950 - A + B - 3 (0) | 2023.10.17 |
[백준] 2739 - 구구단 (0) | 2023.10.17 |
[백준] 2480 - 주사위 세 개 (1) | 2023.10.17 |
@leegeonwoo :: geonwoo
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!