기초 코딩테스트 - String 숫자만추출

고장난 고양이·2022년 3월 28일
0

codingtest-java

목록 보기
12/21

문제

설명

문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다.

만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다.

추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다.

입력

첫 줄에 숫자가 썩인 문자열이 주어집니다. 문자열의 길이는 100을 넘지 않습니다.

출력

첫 줄에 자연수를 출력합니다.

예시 입력 1

g0en2T0s8eSoft

예시 출력 1

208

코드

import java.util.*;
  
public class Main {
  public int solution(String str){
        str=str.replaceAll("[^0-9]","");
        return Integer.parseInt(str);
    }

    public static void main(String[] args){
        Main T = new Main();
        Scanner sc= new Scanner(System.in);
        String str = sc.nextLine();
        System.out.println(T.solution(str));
    }
}

숫자를 제외한 문자열 요소들을 모두 삭제하고 int화시켜서 반환한다.

  • Interger.parseInt(str(숫자만)) -> string -> int

참고할 코드

import java.util.*;
class Main {	
	public int solution(String s){
		//int answer=0;
		String answer="";
		for(char x : s.toCharArray()){
			//if(x>=48 && x<=57) answer=answer*10+(x-48);
			/*if(Character.isDigit(x)){
				answer=answer*10+ Character.getNumericValue(x);
			}*/
			if(Character.isDigit(x)) answer+=x;
		}
		return Integer.parseInt(answer);
	}

	public static void main(String[] args){
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		String str=kb.next();
		System.out.print(T.solution(str));
	}
}

숫자만 골라서 새로운 문자열에 순서대로 추가한듯

  • Character.isDigit(char) -> 숫자 char인지 확인
profile
개발새발X발일지

0개의 댓글

관련 채용 정보