알고리즘
[Programmers]문자열 정수로 바꾸기(난이도 :★★)
BaekGyuHyeon
2022. 5. 16. 16:50
https://programmers.co.kr/learn/courses/30/lessons/12925
코딩테스트 연습 - 문자열을 정수로 바꾸기
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니
programmers.co.kr
class Solution {
public int solution(String s) {
int answer = parseInt(s);
return answer;
}
// Integer.parseInt 구현해보기
public int parseInt(String n) {
int tmp = 1;
char[] arry = n.toCharArray();
int ans = 0;
int positive = 1;
for(int i = arry.length-1; i > -1; i--) {
if(arry[i] > 57 || arry[i] < 48) {
if(arry[i] == 45) {
positive *= -1;
continue;
}else if(arry[i] == 43){
continue;
}else{
throw new NumberFormatException("문자가 섞여있습니다.");
}
}
int num = arry[i] - 48;
ans += (num * tmp);
tmp *= 10;
}
return ans * positive;
}
}