Algorithm/COS PRO 1급 기출문제
[COS PRO 1급 기출문제 - Java] 1-3 계산기 by 문자열
goakgoak
2020. 12. 20. 18:20
문제 유형
빈칸 채우기
문제
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
|
// 여기에 import 문을 추가할 수 있습니다.
//import java.util.*;
class Main {
class Pair{
public int firstNum;
public int secondNum;
}
public int func_a(int numA, int numB, char exp){
if (exp == '+')
return numA + numB;
else if (exp == '-')
return numA - numB;
else
return numA * numB;
}
public int func_b(String exp){
for(int i = 0; i < exp.length(); i++){
char e = exp.charAt(i);
if(e == '+' || e == '-' || e == '*')
return i;
}
return -1;
}
public Pair func_c(String exp, int idx){
Pair ret = new Pair();
ret.firstNum = Integer.parseInt(exp.substring(0, idx));
ret.secondNum = Integer.parseInt(exp.substring(idx + 1));
return ret;
}
public int solution(String expression) {
int expIndex = ____(____);
Pair numbers = ____(____);
int result = ____(____);
return result;
}
|
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
|
// 여기에 import 문을 추가할 수 있습니다.
//import java.util.*;
class Main {
class Pair{
public int firstNum;
public int secondNum;
}
public int func_a(int numA, int numB, char exp){
if (exp == '+')
return numA + numB;
else if (exp == '-')
return numA - numB;
else
return numA * numB;
}
public int func_b(String exp){
for(int i = 0; i < exp.length(); i++){
char e = exp.charAt(i);
if(e == '+' || e == '-' || e == '*')
return i;
}
return -1;
}
public Pair func_c(String exp, int idx){
Pair ret = new Pair();
ret.firstNum = Integer.parseInt(exp.substring(0, idx));
ret.secondNum = Integer.parseInt(exp.substring(idx + 1));
return ret;
}
public int solution(String expression) {
int expIndex = func_b(expression);
Pair numbers = func_c(expression,expIndex);
int result = func_a(numbers.firstNum, numbers.secondNum, expression.charAt(expIndex));
return result;
}
|
cs |