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
- 투 포인터
- 연속부분수열
- 모든행과열대각선의합
- 최대 길이
- 임시반장 정하기
- 알고리즘
- array
- 점수계산
- 코테준비
- 두 배열 합치기
- 10991
- ArrayList
- 등수구하기
- 보이는 학생
- 배열
- Pointer
- 아스키코드
- Two Pointer
- 격자판
- 백준
- 10992
- java
- 공통원소 구하기
- 뒤집은 소수
- 큰 수 출력하기
- GitHub #Commit #BaekJoon
- 자바
- 인프런
- 가장 짧은 문자거리
- 누적 계산
Archives
- Today
- Total
ezhoon
[백준] 4673_셀프 넘버_Java 본문
⚠️주의사항
- 셀프넘버가 어떤 개념인지 이해할 것
- 한 줄에 한개씩만 출력
- sb.append(value).append("\n") 식으로 출력
- sb.append(value).append("\n") 식으로 출력
문제풀이
public class class_4673 {
public static void main(String[] args) {
boolean[] check = new boolean[10001];
for (int i = 1; i < 10001; i++) {
int n = d(i);
if (n < 10001) {
check[n] = true;
}
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i < 10001; i++) {
if (!check[i]) {
sb.append(i).append("\n");
}
}
System.out.println(sb);
}
public static int d(int number) {
int sum = number;
while (number != 0) {
sum = sum + (number % 10); // 첫 째 자리수
number = number / 10; // 10으로 나누어 첫 째 자리를 없앤다.
}
return sum;
}
}
이번 문제는 내가 직접 푼 답은 너무 형편이 없어서 다른 사람들은 어떻게 풀었나 검색 중에 너무 잘 푼 코드가 있어서 이 코드를 가져와봤다.
'[Java] 백준 문제풀이 > 함수' 카테고리의 다른 글
[백준] 15596_정수 N개의 합_Java (0) | 2022.01.09 |
---|
Comments