-
728x90
* 접근 방법
- 1번을 중심으로 1번 궤도에 2~7, 2번 궤도 8~19 이런식으로 증가하므로 규칙을 찾음
- 1을 0층으로 가정하면 각 층의 갯수는 6 X 층수(n) 만큼 증가하는 것을 알 수 있었음
(아래 그림의 층수는 하나씩 빼고 봐야함 : 1층 -> 0층, 2층 -> 1층...)#include <iostream> using namespace std; int main() { long long int T = 0, n = 0; cin >> T; while (T > 0) { T -= 6 * n; n++; if (T == 1) break; } cout << n; return 0; }
* 생각하지 못했던 점
- 0층에 1이 존재하므로 T가 1이되면 반복을 중단한다. 이를 하지 않을 경우 0층의 1을 고려하지 않은 것으로 되어
7을 검색하면 3층, 19는 4층 이런식으로 숫자가 하나씩 밀리게된다.'알고리즘 풀이 > 백준' 카테고리의 다른 글
[2869] 백준 : 달팽이는 올라가고 싶다(C++) (0) 2020.04.25 [1193] 백준 : 분수찾기(C++) (0) 2020.04.25 [2839] 백준 : 설탕 배달(C++) (0) 2020.04.25 [1712] 백준 : 손익분기점(C++) (0) 2020.04.24 [1316] 백준 : 그룹 단어 체커(C++) (0) 2020.04.24 댓글