728x90
인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다.
- 문제 링크 : https://cote.inflearn.com/contest/10/problem/01-09
- 간단한 문제 설명 : 문자열에서 숫자만 추출하여 그 순서대로 자연수로 만들기
내 풀이
- Character.isDigit() 메서드를 사용하여 숫자 문자를 판별하여 풀이
import java.io.*;
public class Main {
public int solution(String s) {
StringBuilder sb = new StringBuilder();
for (char c : s.toCharArray()) {
if (Character.isDigit(c)) {
sb.append(c);
}
}
return Integer.parseInt(sb.toString());
}
public static void main(String[] args) throws IOException {
Main T = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
System.out.println(T.solution(s));
}
}
강의 풀이
(2가지 방법으로 풀이하셨는데 그 중 하나는 내 풀이 방법과 동일)
- 아스키코드를 활용하여 풀이
- 문자 '0'~'9' -> 아스키코드 48~57
import java.io.*;
public class Main {
public int solution(String s) {
int answer = 0;
for (char c : s.toCharArray()) {
if (c >= 48 && c <= 57) { //'0'~'9' -> 아스키 코드 48 ~ 57
answer = answer * 10 + (c - 48);
}
}
return answer;
}
public static void main(String[] args) throws IOException {
Main T = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
System.out.println(T.solution(s));
}
}
'알고리즘 문제풀이' 카테고리의 다른 글
[알고리즘/인프런]1-11 문자열 압축(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.09 |
---|---|
[알고리즘/인프런]1-10 가장 짧은 문자거리(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.09 |
[알고리즘/인프런]1-8 유효한 펠린드롬(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.05 |
[알고리즘/인프런]1-7 회문문자열(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.05 |
[알고리즘/인프런]1-6 중복문자 제거(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.05 |
댓글