https://programmers.co.kr/learn/courses/30/lessons/12925
풀이
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 |