개발 일기

백준 2292번 문제 - 벌집 본문

백준 문제풀이

백준 2292번 문제 - 벌집

종현종현 2021. 10. 24. 10:49

백준 2292번 문제

 

육각형 벌집의 번호 수열이 사이 간격의 수가 6N으로 점차적으로 늘어나는 계차수열임을 알 수 있다.  

 

 

 

 

 

 

 

 

코딩

지나가게 되는 방의 개수는

방 번호가 1일 때는 1개, 2~7까지는 2개, 8~18까지는 3개 ㆍㆍㆍ

수를 나열해보면 1  7  19  37  61로 사이 간격이 6n씩 커지는 계차 수열이다.

무조건 1번 방을 카운트하고 자기 방까지 카운트되기 때문에 num을 1로 시작하고

계차수열대로 그 수보다 적은 지 큰지를 for문으로 받아서 지나가는 최소 방 개수를 카운트하게 했다.

 

 

 

 

 

결과

 

 

 

 

 

느낀 점

문제를 푸는데 단순히 코딩 실력이 아니라 수학적인 사고가 필요했다. 이 문제는 특히 수학적인 사고가 기반이 되어야지 풀기 시작할 수 있었는데 고등학교 때 배운 수열에 대한 공부가 선행되어야 했다. 이 수열은 등차 수열이 아니고 계차 수열이였는데 등차수열에 대한 기억을 상기하고 계차수열의 공식을 직접 유도해보고 공부할 수 있어서 좋았다.

 

계차수열에 대한 이해는 위 문제를 예를 들어

첫 번째 항이후로 6n씩 간격이 생긴다고 했을 때 n번째의 수는 첫 번째항 + 6n의 총합이 되기 때문에

1 + ∑6(n-1)이 된다.

 

 

 

 

 

 

 

이미지 출처 : https://www.acmicpc.net/problem/2292

Comments