본문 바로가기

C++/CodingTest

[백준 1568 - 브론즈 2] 새.cpp

https://www.acmicpc.net/problem/1568

 

1568번: 새

N마리의 새가 나무에 앉아있고, 자연수를 배우기 원한다. 새들은 1부터 모든 자연수를 오름차순으로 노래한다. 어떤 숫자 K를 노래할 때, K마리의 새가 나무에서 하늘을 향해 날아간다. 만약, 현

www.acmicpc.net

 

주어진 규칙대로 반복문을 돌려주었다.

-= 연산과 ++ 연산이 함께 나와서 헷갈릴 수 있다.

하지만, 연산 순서가 다 정해져 있으므로, 어렵지 않은 표현이기도 하다.

 

N에서 n을 빼준 뒤, n을 1 증가시킨다.

만약, n이 N보다 크다면 n을 1로 바꾸어준다.

그리고, sol을 1 증가시켰다.

 

N은 남아 있는 새의 마리 수

n은 다음에 새가 부를 자연수

sol은 노래부르는 시간.

 

그다지 어렵지 않은 문제였지만,

"반복문을 쓰지 않고, 한번에 계산할 수 있지 않을까?"

하는 생각이 드는 문제.