728x90
반응형
보완 전 코드
[JAVA] 문자열을 정수로 바꾸기
문제 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 예를 들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있
deliciouscode.tistory.com
보완 전에는 문자열을 문자화시키는 메소드(charAt)만 알고 있었다.
그래서 모든 문자열을 한 글자씩 문자화 시켜서 자릿수만큼 10을 반복하여 곱한 값을 모두 더해 리턴하는 코드를 작성하였다.
하지만 HRD 수업에서 메소드를 배우면서, 이전에 작성한 코드보다 더 짧고 간결한 코드를 작성할 수 있다는 생각이 들어 새로운 코드를 작성하였다.
문제
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
예를 들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
▶ 제한사항
- s의 길이는 1 이상 5이하입니다.
- s의 맨앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져있습니다.
- s는 "0"으로 시작하지 않습니다.
1. Solution 코드
class Solution {
public int solution(String s) {
int num=0,m=0;
if(s.charAt(0)=='-'){
m=1; //문자열의 맨 앞 부분이 마이너스로 시작함을 알려줌
s=s.replace("-","");
}
else if(s.charAt(0)=='+')
s=s.replace("+","");
num = Integer.parseInt(s);
if(m==1)
return -num;
else
return num;
}
}
- 문자열의 맨 앞 부분이 "-"나 "+"로 시작될 수 있기 때문에 replace를 이용하여 숫자로만 구성된 문자열으로 만들어준다.
- 숫자로 구성된 문자열을 정수형으로 바꾸어 반환한다.
- 문자열의 맨 앞 부분이 "-"로 시작하면 m의 값을 1으로 바꾸어 음수임을 알 수 있다.
2. Solution 코드
class Solution {
public int solution(String s) {
return Integer.parseInt(s);
}
}
- Integer.parseIn 을 사용하면 문자열 맨 앞의 "-"가 음수 값으로 적용되는 것을 알게 되었다.
728x90
반응형
'문제 > JAVA' 카테고리의 다른 글
| [JAVA] 하샤드 수 (0) | 2023.05.30 |
|---|---|
| [JAVA] 정수 제곱근 판별 (0) | 2023.05.30 |
| [JAVA] 문자열을 정수로 바꾸기 (2) | 2023.05.29 |
| [JAVA] 문자열 내 p와 y의 개수 (0) | 2023.05.29 |
| [JAVA] 자연수 뒤집어 배열로 만들기 (0) | 2023.05.29 |