숫자만 추출

2024. 4. 28. 19:19·algorithm

설명

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

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

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

 

입력

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

 

출력

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

 

예시 입력 1 

g0en2T0s8eSoft

 

예시 출력 1

208

 

소스코드 1

import java.util.Scanner;

public class Main {
    public static String solution(String str) {
        String answer = "";
        StringBuilder ans = new StringBuilder();
        for (int i = 0; i < str.length(); i++) { //str에서 숫자만 뽑아내 ans에 추가한다.
            if ('0' <= str.charAt(i) && str.charAt(i) <= '9') {
                ans.append(str.charAt(i));
            }
        }
        while (ans.charAt(0) == '0') { // 맨 앞 자리수가 0이면 계속 삭제한다.
            ans.deleteCharAt(0);
        }
        answer = ans.toString(); //String 타입으로 변환시켜 answer에 저장한다.
        return answer;
    }

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

    }
}

 

소스코드 2

import java.util.Scanner;

public class Main {
    public static int solution(String str) {
        int answer = 0;

		
        for (int i = 0; i < str.length(); i++) {
            if ('0' <= str.charAt(i) && str.charAt(i) <= '9') {
            	//이 식으로 맨 앞 숫자가 0이라면 없애는 계산이 가능해진다.
                answer = answer * 10 + (str.charAt(i) - '0');
            }
        }

        return answer;
    }

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

    }
}

'algorithm' 카테고리의 다른 글

문자열 압축  (0) 2024.04.29
가장 짧은 문자거리  (0) 2024.04.28
유효한 팰린드롬  (0) 2024.04.28
회문 문자열  (0) 2024.04.09
중복 문자 제거  (0) 2024.04.09
'algorithm' 카테고리의 다른 글
  • 문자열 압축
  • 가장 짧은 문자거리
  • 유효한 팰린드롬
  • 회문 문자열
juuuuuuun
juuuuuuun
  • juuuuuuun
    namae
    juuuuuuun
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • java (2)
      • Infra (4)
      • server (2)
      • algorithm (52)
      • HTTP (8)
      • android (1)
      • baekjoon (16)
      • 소프트웨어공학 (6)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
juuuuuuun
숫자만 추출
상단으로

티스토리툴바