Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- js
- REACT
- 백준 #코딩테스트 #코테 #알고리즘
- error맛집
- 에러해결방안
- Redux
- 리액트
- clipboardapi
- 타입스크립트
- 혼자공부하는머신러닝딥러닝
- 알고리즘
- 혼공머신
- 유니티 #게임개발
- 혼공챌린지
- 초기값 설정하기
- 혼공단
- 백준
- useEffect
- 코딩테스트
- styledcomonents
- 백준 #코딩테스트
- typeScript
- 혼자공부하는머신러닝
- axios
- 딥러닝
- 머신러닝
- reactmemo
- CSS
- TS
- 구조분해할당
Archives
- Today
- Total
좌충우돌 개발자의 길
백준 알고리즘 | 2292번 (벌집) | 파이썬 본문
2292번 (벌집)
- 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.
room = int(input())
n = 0 #n=1도 가능
sum = 1 # 1번 방은 규칙에 포함이 안되어서 먼저 저장
while 1:
if(room > sum):
# 한바퀴늘어날때 6개씩 방이 증가한다
sum = sum + 6*n
n += 1
else:
break
if(1 < room < 8):
print(2)
elif(room == 1):
print(1)
else:
print(n)
#컴파일러 확인 코드
room = int(input())
n = 0
sum = 1
while 1:
print("n :", n)
print("sum :", sum, "room :", room)
if(room > sum):
print("sum = sum + 6*n")
print(sum, "=", sum, "+ 6*", n)
sum = sum + 6*n
print("최종 sum", sum)
n += 1
print("if n :", n)
else:
print("else n :", n)
break
if(1 < room < 8):
print(2)
elif(room == 1):
print(1)
else:
print(n)
'CODING TEST > 백준' 카테고리의 다른 글
백준 알고리즘 | 2775번 (부녀회장이 될테야) | 파이썬 (0) | 2021.07.11 |
---|---|
백준 알고리즘 | 2869번 (달팽이는 올라가고 싶다) | 파이썬 (0) | 2021.07.11 |
백준 알고리즘 | 1712번 (손익분기점) | 파이썬 (0) | 2021.07.11 |
백준 알고리즘 | 1316번 (그룹 단어 체커) | 파이썬 (0) | 2021.07.11 |
백준 알고리즘 | 2941번 (크로아티아 알파벳) | 파이썬 (0) | 2021.07.11 |