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
- Flutter
- boj #c++
- 백준 #boj
- 인턴 #프론트엔드 #개발자 #프론트엔드개발자 #취준
- 비주얼스튜디오 #코드스니펫
- #유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과정
- flutter #firebase #플러터 #파이어베이스 #연동
- git #unity #깃허브
- 로컬저장소 #이름변경
- baekjoon #boj #c++
- flutter #todolist
- VS #비주얼스튜디오
- unity #2d-game #minigame #vscode
- flutter #app #취준
- flutter #git
- 비주얼 스튜디오 #vs #visual studio
- flutter #상태관리
- boj #baekjoon #c++
- flutter #플러터
- 백준
- firebase #파이어베이스
- 백준 #boj #baekjoon
- flutter #플러터 #분석
- 유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과
- flutter #깃
- unity #2d-game
- 플러터 #flutter #restful #rest api
- baekjoon #백준 #boj
- boj #baekjoon
- 백준 #c++
Archives
- Today
- Total
cococo-coding
2292번. 벌집 본문
최종코드
#include <stdio.h>
int main() {
//1. n을 입력받는다
//2. 입력된 n이 몇 개의 방을 지나는지 확인한다.
//3. 방 개수를 출력한다.
//1
int n;
scanf("%d\n", &n);
//2
int sum=1; //6*0을 바로 sum에 넣어줌, 즉 while에서는 6*1부터 시작하면 됨
int bang=1;
while(1){
if(n<=sum){ //3
printf("%d\n", bang);
break;
} else {
sum=sum+(6*bang);
bang++;
}
}
return 0;
}
풀이
중앙의 1번 방부터 시작하여 한 겹씩 방을 세어보자.
그러면 각 중앙방부터 시작해서 6*0개, 6*1개, 6*2개 순으로 방이 늘어난다.
이 방들이 누적되므로 고려하여 코드를 짜준다.
우선은 while문으로 무한반복시켜주고
입력받은 n이 sum안에 포함되는 경우(작거나 같은 경우)에 반복문을 나오게 해주었다.
그게 아닌 경우에는 계속해서 6*bang을 누적해서 sum에 더해주었다.
느낀 점
레벨이 올라갈수록 단순구현에서 수학문제가 많이 나오는데, 이런 수학문제같은 경우에는 직접 하나씩 손으로 써가면서 하는 게 이해가 쉽다. 반복하다보면 보이는 패턴이 있는데 이를 단순화해서 정리해 알고리즘을 짜면 조금 더 쉽게 접근할 수 있다.
2023.11.27
'[BOJ] 코드 모음 > C_baekJoon' 카테고리의 다른 글
2798번. 블랙잭 (0) | 2023.11.27 |
---|---|
1978번. 소수 찾기 (1) | 2023.11.26 |
10250번. ACM 호텔 (1) | 2023.11.23 |
1157번. 단어 공부 (2) | 2023.11.23 |
2920번. 음계 (1) | 2023.11.22 |