Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- SQL
- ORACLE 기초
- DDL
- 쿠버네티스
- 쿠버네티스 기본 개념
- 마크다운
- 프로그래밍 기초
- java 기초
- 웹개발 기초
- github
- 정보처리기사
- java
- Flutter
- 기초 선택자
- 기본 API
- mybatis
- VS Code
- DB 개요
- 필기
- MVC 패턴
- 깃허브
- DB
- dql
- oracle
- docker 소개
- docker
- view
- 도커
- DB 모델링
- 데이터베이스
Archives
- Today
- Total
핑구
[백준/JAVA] 4673번 : 셀프 넘버 본문
https://www.acmicpc.net/problem/4673
4673번: 셀프 넘버
셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,
www.acmicpc.net
해당 문제에서는 각 자리수를 하나씩 불러와 계산에 이용하여야 합니다.
int로 값을 받아온 후 나누어 각 자리 숫자를 저장하는 것도 가능하지만, 번거롭기 때문에 String으로 값을 받아온 후 char로 값을 하나씩 뽑고 int로 변환하는 방법을 사용하였습니다.
public class Main {
public static void main(String[] args) {
String[] strNum = new String[10000];
int[] num = new int[10000];
for(int i = 0; i < strNum.length; i++) {
strNum[i] = Integer.toString(i+1);
num[i] += i+1;
for(int j = 0; j < strNum[i].length(); j++) {
num[i] += Character.getNumericValue(strNum[i].charAt(j));
}
}
for(int i = 1; i <= 10000; i++) {
boolean flag = true;
for(int j = 0; j < num.length; j++) {
if(num[j] == i) {
flag = false;
break;
}
}
if(flag) {
System.out.println(i);
}
}
}
}