Notice
Recent Posts
Recent Comments
Link
개발자는 기록이 답이다
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비(문자열_숫자만 추출) 본문
https://cote.inflearn.com/contest/10/problem/01-09
(위의 링크는 인프런 로그인 후, 해당 강의를 사지 않으면 접속이 되지 않습니다)
9. 숫자만 추출
예시 입력 1
g0en2T0s8eSoft
예시 출력 1
208
내가 푼 풀이 (Time: 162ms Memory: 27MB)
1. 입력값을 문자배열로 바꾼뒤, 알파벳이 아니면 StringBuiler로 집어넣었다.
2. 해당 StringBuilder를 문자열로 바꾸고 정수타입으로 형변환 했다
import java.util.Scanner;
public class Main {
public int solution(String str) {
char[] chars = str.toCharArray();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < chars.length; i++) {
if (!Character.isAlphabetic(chars[i]))
sb.append(chars[i]);
}
return Integer.parseInt(String.valueOf(sb));
}
public static void main(String[] args) {
Main main = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(main.solution(str));
}
}
강의 답안 1 (Time: 155ms Memory: 27MB)
1. 아스키넘버인 48~57에 있는 0부터 9까지에 있다면, 자릿수 계산해준다.
import java.util.Scanner;
public class Main {
public int solution(String str) {
int ans = 0;
for (char x : str.toCharArray()) {
if(x >= 48 && x <= 57) ans = ans * 10 + (x-48);
}
return ans;
}
public static void main(String[] args) {
Main main = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(main.solution(str));
}
}
강의 답안 2(Time: 148ms Memory: 27MB)
1. Character클래스에 숫자가 있는지 확인해주는 isDigit()함수가 있다.
import java.util.Scanner;
public class Main {
public int solution(String str) {
String ans = "";
for (char x : str.toCharArray()) {
if( Character.isDigit(x)) ans += x;
}
return Integer.parseInt(ans);
}
public static void main(String[] args) {
Main main = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(main.solution(str));
}
}
'알고리즘 > 인프런 - Java알고리즘 입문' 카테고리의 다른 글
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비(문자열_문자열 압축) (0) | 2023.08.28 |
---|---|
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비(문자열_가장 짧은 문자거리) (0) | 2023.08.28 |
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비(문자열_유효한 팰린드롬) (0) | 2023.08.28 |
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비(문자열_회문 문자열) (0) | 2023.08.28 |
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비(문자열_중복 문자 제거) (0) | 2023.08.28 |