일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 컨테이너
- AOP
- XML
- Di
- Spring JDBC
- Linux
- spring
- STS
- spring aop
- @JUnit
- 마이바티스
- unix
- pointcut
- 프로퍼티
- java
- Ubunt
- java spring
- SpringJDBC
- @test
- JdbcTemplate
- Framework
- spring framework
- POJO
- JDBC TEMPLATE
- myBatis
- Spring Boot
- @AspectJ
- 리눅스
- Dependency Injection
- @Spring-Test
Archives
- Today
- Total
개키우는개발자 : )
[자바 알고리즘] 숫자만 추출 본문
반응형
광고 클릭은 개발자(저) 에게 큰 힘이 됩니다!!'ㅁ'
| 문제
문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만 듭니다. 만들어진 자연수와 그 자연수의 약수 개수를 출력합니다. 만약 “t0e0a1c2her”에서 숫자만 추출하면 0, 0, 1, 2이고 이것을 자연수를 만들면 12가 됩니 다. 즉 첫 자리 0은 자연수화 할 때 무시합니다. 출력은 12를 출력하고, 다음 줄에 12의 약 수의 개수를 출력하면 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다.
| 입력설명
숫자가 썩인 문자열이 주어집니다. 문자열의 길이는 50을 넘지 않습니다.
| 출력설명
자연수를 출력하고, 두 번째 줄에 약수의 개수를 출력합니다.
| 입력 예제
g0en2Ts8eSoft
| 출력 예제
28
6
| 풀이
48보다 크거나 같고 57보다 작거나 같으면 문자열 0~9까지입니다.
res(0) = res(0) * 10 + (48 - 48)
res(2) = res(0) * 10 + (50 - 48)
res(28) = res(2) * 10 + (56 - 48)
res = 28;
28의 약수 개수 는 6개
import java.util.Scanner;
public class Test6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
char[] a = str.toCharArray();
int res=0,cnt=0,i;
for(i=0; i< a.length; i++ ){
if(a[i] >= 48 && a[i] <=57){
res = res*10+(a[i]-48);
}
}
System.out.printf("%d\n",res);
for(i=1;i<=res;i++){
if(res%i==0) cnt++;
}
System.out.printf("%d\n",cnt);
}
}
반응형
'Algorithm Programming > Java' 카테고리의 다른 글
[자바 알고리즘] 올바른 괄호 (0) | 2020.01.09 |
---|---|
[자바 알고리즘] 영어단어 복구 (0) | 2020.01.08 |
[자바 알고리즘] 나이 계산 (0) | 2020.01.07 |
[자바 알고리즘] 나이 차이 (0) | 2020.01.07 |
[자바 알고리즘] 진약수의 합 (4) | 2020.01.07 |
Comments