반응형

문제

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



방 개수가 늘어나는 지점을 살펴보면 1,7,19,37 그차이를 보면 6,12,18 6의 배수만큼

 늘어나는 것을 볼수있다.빼줄때마다 방의 개수를 하나씩 늘려가며 입력받은 값이 0이하로

 가면 결과값을 출력하면 된다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import sys
 
n=int(sys.stdin.readline())
 
result=0
sub = 0 #6의 배수만큼 늘려가며 빼준다.
tmp=n-1 #처음방을 빼준다
while(tmp>0):
    tmp-=sub    #
    sub+=6  #6씩 증가 시켜준다
    result+=1
 
if n==1:    #1일경우만 예외처리
    print(1)
else:
    print(result)
cs



코드가 조금 지저분해 보인다. 억지로 맞춘 느낌이긴 하지만 성공이다.




반응형

'알고리즘(python) > 수학' 카테고리의 다른 글

[Python]수학 백준 10250  (0) 2019.12.19
[Python]수학 백준 2869  (0) 2019.12.19
[Python]수학 백준 1193  (0) 2019.12.19
[Python]수학 백준 2839  (0) 2019.12.19
[Python]수학 백준 1721  (0) 2019.12.19
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기