Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

UpDown Dev Story

알고리즘 연습 - 숫자만 추출 본문

Algorithm

알고리즘 연습 - 숫자만 추출

updown 2021. 5. 23. 22:02

아래 강의를 보면서 연습하고 기록하고 있습니다

https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%ED%85%8C%EB%8C%80%EB%B9%84

 

자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 - 인프런 | 강의

자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성

www.inflearn.com

 

문제

 

내 소스코드

import java.util.Scanner;

public class Algorithm {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		String inputString = sc.next().replaceAll("[^0-9]", "");
		System.out.println(Integer.parseInt(inputString));
	}

}

강사님 소스코드

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));
	}
}

내 소스코드 해설

  1. 사용자에게 단어를 입력받고 정규식과 replaceAll 로 숫자만 걸러낸다
  2. 정수로 변환하여 출력한다

강사님 소스코드 해설

  1. 사용자에게 단어를 입력받는다
  2. 입력받는 단어를 CharArray로 변환하여 for loop 돌려 Character.isDigit 으로 숫자인지 확인하여 출력한다

참고사항

  • StringBuilder에 reverse 메소드가 있다
  • equalsIgnoreCase 사용하면 대소문자 구분 없이 비교할수 있다.
  • replaceAll 로 문자를 치환 할 수 있다

 

Comments