# 문제설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
# 제한 조건
- s의 길이는 1 이상 5이하입니다.
- s의 맨앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져있습니다.
- s는 "0"으로 시작하지 않습니다.
# 입출력 예
예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
이 문제는 문자열을 숫자로 변환시키는 문제이다.
문자열 s를 "Integer.parseInt" 메서드를 통해 숫자 answer로 바로 변환할 수 있긴 하지만 해당 메서드를 사용하지 않고 풀어보았다.
class Solution {
public int solution(String s) {
int answer = 0;
if(s.charAt(0) == '-' || s.charAt(0) == '+'){ // 맨 앞 부호에 '+'가 올 수도 있음 주의
for(int i=1; i<s.length(); i++){
answer = answer * 10 + (s.charAt(i) -'0'); //i++ 하면서 자릿수가 바뀌는 것이므로 10씩 곱해주기
}
if(s.charAt(0) == '-')
answer = answer * (-1); // -1을 곱하여 음수로 만들어준다
}
else {
for(int i=0; i<s.length(); i++){
answer = answer * 10 + (s.charAt(i) -'0');
}
}
return answer;
}
}
'Algorithm' 카테고리의 다른 글
정수 내림차순으로 배치하기 (0) | 2024.11.18 |
---|
댓글