UpDown Dev Story
알고리즘 연습 - 숫자만 추출 본문
아래 강의를 보면서 연습하고 기록하고 있습니다
문제
내 소스코드
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));
}
}
내 소스코드 해설
- 사용자에게 단어를 입력받고 정규식과 replaceAll 로 숫자만 걸러낸다
- 정수로 변환하여 출력한다
강사님 소스코드 해설
- 사용자에게 단어를 입력받는다
- 입력받는 단어를 CharArray로 변환하여 for loop 돌려 Character.isDigit 으로 숫자인지 확인하여 출력한다
참고사항
- StringBuilder에 reverse 메소드가 있다
- equalsIgnoreCase 사용하면 대소문자 구분 없이 비교할수 있다.
- replaceAll 로 문자를 치환 할 수 있다
'Algorithm' 카테고리의 다른 글
알고리즘 연습 - 문자열 압축 (0) | 2021.05.24 |
---|---|
알고리즘 연습 - 가장 짧은 문자거리 (0) | 2021.05.23 |
알고리즘 연습 - 유효한 팰린드롬 (0) | 2021.05.23 |
알고리즘 연습 - 회문 문자열 (0) | 2021.05.23 |
알고리즘 연습 - 중복문자제거 (0) | 2021.05.21 |
Comments