이번 문제는 접근 자체는 잘 했는데, 자잘한 처리에서 시간을 잡아먹었던 것 같다.
제곱결과의 첫번째 자리수를 구하면 되는 문제였는데, 값이 엄청나게 커졌을 때를 위하여 미리미리 처리해주는 단계가 필요했다.
C++
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
31
32
33
34
35
36
37
38
39
40
41
|
#include <iostream>
#include <math.h>
using namespace std;
int customPow(int a, int b){
int res = 1;
for(int i=0 ;i<b; i++){
if(res > 10) // 값이 너무 커지는 것을 방지하기 위한 사전 처리
res = res % 10;
res *= a % 10;
}
return res % 10;
}
int main() {
int t;
int solve;
scanf("%d", &t);
int a[t], b[t];
for(int i=0; i<t; i++){
scanf("%d %d", &a[i], &b[i]);
solve = customPow(a[i], b[i]);
if(solve == 0)
printf("10 \n");
else
printf("%d \n", solve);
}
return 0;
}
|
cs |
다 구현하고나서도, 1의 자리가 0일 경우, 10을 출력해줘야하는데 (10번째 컴퓨터) 그 처리도 빼먹었다가 또 오답처리를 받았다.
또, 각 입력마다 출력을 해줘야한단다. 분명 문제 예제 출력엔 입력을 다 받고 출력하는거였는데...
JAVA 코드 또한 비슷하게 짜서, 함께 첨부하여 올린다.
JAVA
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
package java_algorithm;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Beakjoon_1009 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
int a, b;
int result;
for(int i=0; i<t; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
a = Integer.parseInt(st.nextToken());
b = Integer.parseInt(st.nextToken());
result = customPower(a,b);
if(result == 0) {
System.out.println("10");
}else {
System.out.println(result);
}
}
}
public static int customPower(int a, int b) {
int res = 1;
for(int i=0; i<b; i++) {
if(res > 10)
res %= 10;
res *= a;
}
return res % 10;
}
}
|
cs |
'프로그래밍 > 알고리즘' 카테고리의 다른 글
백준 알고리즘 2420번 : 사파리월드 (C++, JAVA) (0) | 2019.10.21 |
---|---|
백준 알고리즘 1110번 : 더하기 사이클 (C++, JAVA) (0) | 2019.10.21 |
백준 알고리즘 1920번 : 수 찾기 (JAVA) (0) | 2019.10.21 |
백준 알고리즘 1920번 : 수 찾기 (C++) (0) | 2019.10.21 |
백준 알고리즘 1037번 : 약수 (JAVA) (0) | 2019.10.19 |