반응형
설명
문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다.
만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다.
추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다.
입력
첫 줄에 숫자가 섞인 문자열이 주어집니다. 문자열의 길이는 100을 넘지 않습니다.
출력
첫 줄에 자연수를 출력합니다.
import java.util.Scanner;
public class Main {
public int solution(String str) {
String answer = "";
for(char x : str.toCharArray()){
if (Character.isDigit(x)) answer += x;
}
return Integer.parseInt(answer);
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.solution(str));
}
}
아스키코드를 이용하는 방법도 있습니다.
public int solution(String str) {
int answer = 0;
for(char x : str.toCharArray()){
if(x>=48 && x<=57) answer=answer*10+(x-48);
}
return answer;
}
isDigit()
함수는 char의 값이 숫자인지 여부를 판단하는 함수입니다.
Kotlin으로 문제풀이
import java.util.*
fun main() {
val sc = Scanner(System.`in`)
val str = sc.next()
var answer = ""
for (x in str.toCharArray()) {
if (Character.isDigit(x)) answer += x
}
println(answer.toInt())
}
반응형
'Algorithm > Java알고리즘 문제풀이 & Kotlin' 카테고리의 다른 글
[Algorithm] 임시반장 정하기 (0) | 2023.02.17 |
---|---|
[Algorithm] 봉우리 (0) | 2023.02.09 |
[Algorithm] 격자판 최대합 (0) | 2023.02.07 |
[Algorithm] 등수구하기 (0) | 2023.02.07 |
[Algorithm] 유효한 팰린드롬 (0) | 2023.02.06 |