Algorithm/COS PRO 1급 기출문제
[COS PRO 1급 기출문제 - Java] 2-3 경품 당첨자를 구해주세요
goakgoak
2020. 12. 21. 15:42
문제 유형
빈칸 채우기
문제
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
class Main {
public int func_a(int n){
int ret = 1;
while(n > 0){
ret *= 10;
n--;
}
return ret;
}
int func_b(int n){
int ret = 0;
while(n > 0){
ret++;
n /= 10;
}
return ret;
}
int func_c(int n){
int ret = 0;
while(n > 0){
ret += n%10;
n /= 10;
}
return ret;
}
public int solution(int num) {
int nextNum = num;
while(true){
nextNum++;
int length = func_?(_____);
if(length % 2 != 0)
continue;
int divisor = func_?(_____);
int front = nextNum / divisor;
int back = nextNum % divisor;
int frontSum = func_?(_____);
int backSum = func_?(_____);
if(frontSum == backSum)
break;
}
return nextNum - num;
}
// 아래는 테스트케이스 출력을 해보기 위한 main 메소드입니다.
public static void main(String[] args) {
Main sol = new Main();
int num1 = 1;
int ret1 = sol.solution(num1);
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.out.println("solution 메소드의 반환 값은 " + ret1 + " 입니다.");
int num2 = 235386;
int ret2 = sol.solution(num2);
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.out.println("solution 메소드의 반환 값은 " + ret2 + " 입니다.");
}
}
|
cs |
풀이
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
|
class Main {
public int func_a(int n){
int ret = 1;
while(n > 0){
ret *= 10;
n--;
}
return ret;
}
int func_b(int n){
int ret = 0;
while(n > 0){
ret++;
n /= 10;
}
return ret;
}
int func_c(int n){
int ret = 0;
while(n > 0){
ret += n%10;
n /= 10;
}
return ret;
}
public int solution(int num) {
int nextNum = num;
while(true){
nextNum++;
// 자릿수 구하기
int length = func_b(nextNum);
if(length % 2 != 0)
continue;
// 분리자
int divisor = func_a(length/2);
int front = nextNum / divisor;
int back = nextNum % divisor;
int frontSum = func_c(front);
int backSum = func_c(back);
if(frontSum == backSum)
break;
}
return nextNum - num;
}
|
cs |
구름에서 돌리면 다 틀렸다고 하니까 맞는지 모르겠네..