일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JPA
- 생명주기 콜백
- real time web
- cookie
- bean
- flask
- jenkins
- Project
- hanghae99
- WIL
- python
- Anolog
- Stream
- spring
- server send event
- Hibernate
- javascript
- JWT
- Java
- DI
- web
- 항해99
- google oauth
- programmers
- Spring Security
- html
- oauth
- SseEmitter
- session
- jQuery
Archives
- Today
- Total
끄적끄적 코딩일지
[Programmers]문자열 정수로 바꾸기(난이도 :★★) 본문
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;
}
}
'알고리즘' 카테고리의 다른 글
[Programmers]음양 더하기(난이도:★★) (0) | 2022.05.16 |
---|---|
[Programmers]없는 숫자 더하기(난이도:★★) (0) | 2022.05.16 |
[Programmers]두 정수 사이의 합(난이도 : ★★) (0) | 2022.05.16 |
[Programmers]가운데 글자 가져오기(난이도 : ★★) (0) | 2022.05.16 |
[Programmers] 짝수와 홀수(난이도 : ★) (0) | 2022.05.16 |