문제 링크 : 문자열을 정수로 바꾸기
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
s의 길이는 1 이상 5이하입니다.
s의 맨앞에는 부호(+, -)가 올 수 있습니다.
s는 부호와 숫자로만 이루어져있습니다.
s는 "0"으로 시작하지 않습니다.
예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
public int solution(String s) {
int answer = 0;
int flag = 1;
int index = 0;
if(s.charAt(0) == '-'){
flag = -1;
index++;
}else if (s.charAt(0) == '+'){
flag = 1;
index++;
}
answer = flag * Integer.parseInt(s.substring(index, s.length()));
return answer;
}
맨 앞 문자열에 '+'나 '-'가 있냐에 따라서 정수의 부호를 결정하고, 그 다음부터 문자열을 정수로 뱌꿔주는 함수를 사용해서 문제를 풀었다.
다른 사람의 풀이를 보니 parseInt 함수가 부호가 있으면 그대로 문자열을 정수로 바꿔주는 기능이 있었던 것 같다(...) 그래서 return Integer.parseInt(s); 한 줄이면 끝나는 문제였는데 엄청 장황하게 풀어서 코드를 작성한 것 같다...