https://programmers.co.kr/learn/courses/30/lessons/12925
코딩테스트 연습 - 문자열을 정수로 바꾸기
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니
programmers.co.kr
풀이
1. Integer.parseInt();
String -> Int 로 형변환을 해주면 한줄로 끝낼 수 있다.
int answer = Integer.parseInt(s);
2. 알고리즘으로 풀기
먼저 맨 앞에 부호가 오는 경우를 고려해야 한다.
'-' , 즉 음수가 오는 경우엔 boolean 변수 sign에 false을 준다.
부호가 아닌 숫자가 온다면 기존의 answer에 10씩 곱해서 자릿수를 늘려 숫자를 넣어준다.
마지막에 sign 즉 부호가 true(양수)이면 그대로, false(음수)이면 -를 곱해서 return 한다.
class Solution {
public int solution(String s) {
boolean sign = true;
int answer=0;
for(int i=0; i<s.length();i++){
char c = s.charAt(i);
if(c=='-'){
sign=false;
}else if(c!='+'){
answer = answer*10+(c-'0');
}
}
return sign?answer:-answer;
}
}
'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글
[Java] 프로그래머스 Lv.2 : 가장 큰 정사각형 찾기 (0) | 2022.03.16 |
---|---|
[Java] 프로그래머스 Lv.2 : 타겟 넘버 (0) | 2022.03.16 |
[Java] 프로그래머스 Lv.2 : 구명보트 (0) | 2022.03.14 |
[Java] 프로그래머스 Lv.2 : 소수 찾기 (0) | 2022.03.13 |
[Java] 프로그래머스 Lv.2 : 카펫 (0) | 2022.03.13 |