나 개발자 진짜 되냐?

코딩테스트 입문 - 연속된 수의 합 ( 패턴 ) 본문

프로그래머스를 풀어보아요!/C++

코딩테스트 입문 - 연속된 수의 합 ( 패턴 )

Snow Rabbit 2026. 5. 22. 17:45

 

22일은

내가 가장 좋아하는 날이었다.

늘 종이비행기를 접곤했다.

 

매달해도 질리지 않았고, 필수적인 일이라고 생각하며

나는 이 약속을 한 것에 너무 다행이라고 생각했다.

 

근데 이젠 접을 수 없다.

아니

이제 접지 않기로 했다.

종이 수급이 어려워졌기 때문이다.

 

하지만 내가 앞으로 평생

22일을 잊고 살 수 있을까

싶다.

 

아마 못할 거 같다.


 

 

패턴 찾아본 건..

3을 12로 나누면 4 근데 그게 가운데..

5를 15로 나누면 3.. 그게 가운데

 

4를 14로 나누면

3... 2

그래서 3 기준으로 한 칸씩 열고..?

 

안 떨어지는 건 어떻게 계산해야 하나..

싶어

 

인지 씨를 찾았다.

 

패턴이 맞다고 칭찬해 줬다.

난 그냥 찍은 건데..

 

홀수일 땐

가운데 숫자 기준이라고 했다.

 

짝수도 비슷하다.

 

그래서 핵심은!

시작하는 숫자가 어디인지 찾아야 한다.

 

가운데는 찾았고

시작은 어떻게 찾을까?!?

 

3이라고 치자

12면

가운데가 4고 

2개를 더 찾으면 된다.

2개를 더 찾는데 왼쪽 오른쪽 하나니까

 

왼쪽 한 칸만 가면 된다.

 

5라고 치자

15면

가운데 5를  찾고

4개를 더 찾으면 된다.

왼쪽 오른쪽이니 /2 해서 2이다.

 

패턴을 알았는가?!

 

(num-1) / 2 가 시작지점이 된다.

 

1이면

가운데 기점으로 -1

 해주고

2면 가운데 기점으로 -2

 

그래서 start랑 middle를 만들어주었다.

middle는 total / num

start는 middle 에다가 (num -1 ) / 2 빼주면 된다.

 

for문을 돌면서 값을 넣어주면 된다.

 

질문!

이렇게 하면 짝수는요!?

 

4랑 14라고 하자

14 / 4 하면 3.5인데

int니까 3만 남게 된다.

그래서 middle는 3

 

start는

3 - ( 4-1) / 2

3/2 = 1.5인데 1로 나오고

3-1 하면 2가 된다.

그래서 2부터 시작!

4번 할 거고

2,3,4,5 하면 된다.

 

wow! 되는구나!

 


 

 

쉬웠군...ㅎ

 

패턴을 익히는 게 생각보다 어려웠다.

그래도 내가 생각했던 게 아주 조금은 맞아서..

뿌... 듯한가?! 음... 그렇다 ㅎ