반응형
1. 문제 번호 2292번
2. 문제 풀이
한줄 평가
- 규칙을 찾는것은 너무도 쉬웠지만, 시간초과의 문제가 발생하여 앞으로는 시간복잡도,공간복잡도를 고려를 해야 한다.
문제를 먼저 정확히 파악
- 아래의 표를 보면 뭔가 6의 배수와 연관이 깊다는것을 쉽게 눈치챔
// 반복횟수 | 첫 번째 시작~종료 | 이전시작과의 차이 | 범위안의 개수
// 0 | 1 | 0 | 0
// 1 | 2~7 | 1 | 6
// 2 | 8~19 | 6 | 12
// 3 | 20~37 | 12 | 18
// 4 | 38~61 | 18 | 24
나의 문제풀이 방식 및 순서
* 나의 다양한 학습이 우선이기 때문에 다양한 방법을 생각 *
- Math.pow(6,i) 를 사용하고자 하였다.
하지만 속도의 이슈가 있었다.
단순히 사칙연산으로도 풀 수 있는 문제였고, 이전 문제의 수학함수를 사용해서 풀어보고 싶었다.
3. 소스 인증
import java.util.*;
import java.lang.*;
import java.io.*;
// The main method must be in a class named "Main".
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int nRoom = 1;
if (N == 1){
System.out.println(nRoom);
return;
}
int rangeStart = 2;
int rangeEnd = 7;
while(true){
nRoom++;
if ( N >= rangeStart && N <= rangeEnd ){
System.out.println(nRoom);
break;
}
rangeStart = rangeEnd + 1;
rangeEnd = rangeEnd + (6 * nRoom);
}
}
}
- 실패 소스코드 -
더보기
import java.util.*;
import java.lang.*;
import java.io.*;
// The main method must be in a class named "Main".
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int startValue = 1;
int endValue = 1;
int nRoom = 1;
if(N != 1){
for(int i = 0; ; i++){
startValue = startValue + (int)Math.pow(6,i);
endValue = startValue + (int)Math.pow(6,i) - 1;
if ( N >= startValue && N <= endValue ){
nRoom++;
break;
};
}
}
System.out.println(nRoom);
// 반복횟수 | 첫 번째 시작~종료 | 이전시작과의 차이 | 범위안의 개수
// 0 | 1 | 0 | 0
// 1 | 2~7 | 1 | 6
// 2 | 8~19 | 6 | 12
// 3 | 20~37 | 12 | 18
// 4 | 38~61 | 18 | 24
}
}
4. 추가 개념
5. 참조 블로그
불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.
728x90
반응형
'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글
[BOJ/백준] 약수, 배수와 소수_ 5086번 (0) | 2024.05.31 |
---|---|
[BOJ/백준] 일반수학1_ 2869번 이해할때까지 몇번보기 (0) | 2024.05.30 |
[BOJ/백준] 일반수학1_ 2903번 (0) | 2024.05.23 |
[BOJ/백준] 일반수학1_ 2720번 (0) | 2024.05.23 |
[BOJ/백준] 일반수학1_ 11005번 (0) | 2024.05.22 |