728x90
코딩 테스트 풀이 체크리스트 |
|
2시간 내에 풀었는가? | O |
본인의 실력으로 풀었는가? | O |
4673번: 셀프 넘버
셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,
www.acmicpc.net
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
//체크용 boolean 배열
boolean[] list = new boolean[10001];
//1부터 10000까지 d() 함수로 보내고 체크하기
for (int i = 1; i <= 10000; i++) {
int num = d(i); //d함수 리턴값 : 정수
//만약 리턴값이 10000보다 작고, 만들어진 적 없는 숫자라면 true로 체크하기
if (num <= 10000 && !list[num]) list[num] = true;
}
//1부터 10000까지 방문 기록이 없는 숫자는 출력하기
for (int i = 1; i < list.length; i++) {
if (!list[i]) bw.write(i + "\n");
}
bw.flush();
bw.close();
}
public static int d(int num) {
int result = num;
while (num > 0) {
result += (num % 10);
num /= 10;
}
return result;
}
}
문제 | 결과 | 메모리 | 시간 | 코드 길이 |
4673 | 맞았습니다!! | 14484 KB | 144 ms | 592 B |
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 - 10828번 : 스택 (Silver IV) (0) | 2022.08.22 |
---|---|
[Java] 백준 - 4948번 : 베르트랑 공준 (Silver III) (0) | 2022.08.22 |
[Java] 백준 - 1296번: 팀 이름 정하기 (Bronze I) (0) | 2022.08.18 |
[Java] 백준 - 1110번 : 더하기 사이클 (Bronze I) (0) | 2022.08.18 |
[Java] 백준 - 20551번 : Sort 마스터 배지훈의 후계자 (Silver IV) (0) | 2022.08.17 |