문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
제한 조건
s의 길이는 1 이상 5이하입니다.
s의 맨앞에는 부호(+, -)가 올 수 있습니다.
s는 부호와 숫자로만 이루어져있습니다.
s는 0으로 시작하지 않습니다.
class Solution {
public int solution(String s){
int answer = 0;
char op = s.charAt(0);
switch (op) {
case '+':
System.out.println("This is 양수");
answer = op_delete(s);
break;
case '-':
System.out.println("This is 음수");
answer = op_delete(s)*-1;
break;
default:
System.out.println("This is DEFAULT");
answer = Integer.parseInt(s);
}
System.out.println(answer);
return answer;
}
public int op_delete(String s){
String tmp_arr="";
for(int i=1; i<s.length(); i++){
tmp_arr+=s.charAt(i);
}
return Integer.parseInt(tmp_arr);
}
}
통과는 했으나.....
parseInt()를 몰랐다... 부호까지 다 변환해주는지 몰랐다.....
이 처럼 복잡하게 하지 않고 그냥 parseInt()때려 박았어도 바로 풀 수 있는 문제였다.
이건 라이브러리를 쓴것도 아니고 안쓴것도 아니고.....
다른사람 풀이를 보니 저렇게 부호를 판별하고 parseInt()를 쓰지 않고 정수로 바꿔주는 식으로 풀은 사람도 있었다. 물론 그냥 parseInt()를 때려박은 사람도 있었다.
그래도 부호판별을 해야겠다는 생각을 한게....잘 한건지 뻘짓 한건지...
사실 처음에 문제를 보자마자 "이거 그냥 부호 빼고 parseInt 쓰면 될꺼같은데?"라고 생각했다. 전에도 말했지만 라이브러리를 빼놓고 진짜 삽질로 코딩을 해봐야 늘지 않겠나?
실력은 곧 삽질이다.