AI 그게 뭔데
끄적끄적 개발일지
AI 그게 뭔데
전체 방문자
오늘
어제
  • 분류 전체보기 (342)
    • 논문 (5)
    • DL(Deep-Learning) (34)
      • 개념 (14)
      • Python 기초 (14)
      • Tensorflow (6)
      • Pytorch (0)
    • NLP (10)
    • OpenCV (53)
    • DevOps (10)
      • AWS (2)
      • Docker & Kubernetes (4)
      • Spark (3)
      • SQL (1)
    • MacOS (1)
    • React-Native (2)
    • BI (3)
      • GA(Google Analytics) (3)
      • Tableau (0)
    • 알고리즘 (221)
      • 백준 (76)
      • 프로그래머스 (108)
      • 기타 알고리즘 (37)

인기 글

태그

  • 이코테
  • 알고리즘
  • level1
  • LEVEL2
  • 연습문제
  • 프로그래머스
  • Python
  • OpenCV
  • 백준
  • 파이썬

최근 글

hELLO · Designed By 정상우.
AI 그게 뭔데

끄적끄적 개발일지

[Python] 백준 2292번 : 벌집
알고리즘/백준

[Python] 백준 2292번 : 벌집

2022. 1. 22. 00:19
 

2292번: 벌집

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌

www.acmicpc.net

 

문제

 

 

위의 그림과 같이 육각형으로 이루어진 벌집이 있다.

그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다.

숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오.

 

예를 들면, 13까지는 3개, 58까지는 5개를 지난다.

 

 

입력

첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.

 

 

출력

입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.

 

 


✔ Solution

N = int(input())
room = 1 # 지나야하는 방의 수
cnt = 1 # 벌집의 수

while N > cnt :
    cnt += 6 * room  # 벌집이 6의 배수로 증가
    room += 1  

print(room)

 

⭐ 문제 포인트

주어진 N에 대하여 

벌집 번호 N : 1  /  2 ~ 7  /  8 ~ 19  /  20 ~ 37  / ...
벌집갯수 : 1개 /   6개  /   12개   /   18개   / ...
방의 수 :   1  /    2    /     3    /     4    / ...

 

'알고리즘 > 백준' 카테고리의 다른 글

[Python] 백준 2869번 : 달팽이는 올라가고 싶다  (0) 2022.01.22
[Python] 백준 1193번 : 분수 찾기  (0) 2022.01.22
[Python] 백준 1712번 : 손익분기점  (0) 2022.01.22
[Python] 백준 1316번 : 그룹 단어 체커  (0) 2022.01.21
[Python] 백준 2941번 : 크로아티아 알파벳  (0) 2022.01.21
    AI 그게 뭔데
    AI 그게 뭔데
    공부와 개발 그리고 AI가 약간 첨가된 흔적 남기기

    티스토리툴바