BOJ | 8393번

송치헌·2021년 6월 11일
0
post-thumbnail
post-custom-banner

Python 풀이

N = int(input())

sum = N
for i in range(N):
    sum+=i
print(sum)
>>> N = 5
>>> for i in range(N):
...     print(i)
... 
0
1
2
3
4

여기서 볼 수 있듯이 for i in range(N) 은 0부터 N-1까지이다.
따라서 합을 구할 땐 sum = N 으로 선언해주면서 마지막 숫자인 N이 안더해지는 불상사를 방지해준다!

C++ 풀이

#include <iostream>

using namespace std;

int main() {
    int N;
    int sum = 0;
    cin >> N;
    while (N) {
    	sum += N--;
    }
    cout << sum;
}

while (N)을 설명하자면, while문에서의 괄호안의 조건을 검사했을 때 true면 반복문 실행, false면 반복문 탈출을 하게 된다.
'그런데 N은 정수형 변수인데 어떻게 true랑 false를 구분하죠?' 라고 물어볼 수 있는데, 0이면 false, 0이 아니면 true로 인식하기 때문이다. 즉 N값을 1씩 빼주면서 0이 되는 순간 false로 인식하고 반복문을 탈출하게 된다.

profile
https://oraange.tistory.com/ 여기에도 많이 놀러와 주세요
post-custom-banner

0개의 댓글