벌집은 어려워보이지만 자세히 보면 규칙이 존재합니다
벌집의 규칙이란 1 다음에는 6이 증가한 수인 7까지가 다음 라인을 구성하고 있고 그 다음 라인은 12가 증가한 19까지 존재하는 것을 확인할 수 있습니다.
이것은 무엇을 의미하느냐 1에서 6, 12, 18, 24를 계속 더한 값의 합을 구하면 문제를 해결할 수 있게 됩니다.
- 1번째 라인: 1
- 2번째 라인: 2~7
- 3번째 라인: 8~19
- 4번째 라인: 20~37
- 5번째 라인: 38~61
- ...
이것을 코드로 구현하면 다음과 같겠습니다.
import Foundation
let line = Int(readLine()!)!
var n = 6
var sum = 1
if line == 1 {
print(1)
} else {
for i in 1...10000000 {
sum += 6 * i
if sum >= line {
print(i+1)
exit(0)
}
}
}
'Algorithm > Baekjoon' 카테고리의 다른 글
Swift - 백준 11650번 좌표 정렬하기 (정렬) (0) | 2024.08.07 |
---|---|
Swift - 백준 2839번 설탕 배달 (다이나믹 프로그래밍 DP) (0) | 2024.08.06 |
Swift - 백준 1929 소수 구하기 (0) | 2024.08.04 |
Swift 백준 1654 랜선 자르기 (이분탐색) (0) | 2024.08.03 |
Swift 백준 1546 평균 (0) | 2024.07.23 |