알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄
셀프넘버
Think🤔
static 메소드를 만들어서 d(i) 구하는 함수를 구현할 건데
간단하게 static은 메소드는 인스턴스 생성하지 않고 호출 가능 , 메모리 효율성 , 유틸리티 메서드여서 수학적계산이나 문자열 처리와 같은 작업을 수행할때 겍체의 상태와 무관하게 독립적으로 진행됨
일단 셀프 넘버 d(i)를 구하는 공식
public static int d(int n){
int sum = n;
while(n > 0){
sum += (n % 10); // 자릿수 더하기 13이면 3
n /= 10; // 다음 1까지 해야되므로
}
return sum;
}
Solution✍
import java.util.HashSet;
import java.util.Set;
class Main{
public static void main(String[] args) {
Set<Integer> a1 = new HashSet<>();
Set<Integer> a2 = new HashSet<>();
for(int i=1; i<10000; i++){
a1.add(i);
a2.add(d(i));
}
a1.removeAll(a2);
for(int num : a1){
System.out.println(num);
}
}
public static int d(int n){
int sum = n;
while(n > 0){
sum += (n % 10); // 자릿수 더하기 13이면 3
n /= 10; // 다음 1까지 해야되므로
}
return sum;
}
}
Review🤩
Set을 이용하여 처리
'Algorithm' 카테고리의 다른 글
[백준] 크로아티아 알파벳 2941번 (2) | 2024.09.08 |
---|---|
[백준] 브론즈1 평균 1546번 (0) | 2024.09.07 |
[백준] 실5 수 정렬하기2 (0) | 2024.09.06 |
[백준] 실버5 그룹 단어 체커 (0) | 2024.09.05 |
[프로그래머스 , 리트코드] 시즌3 n^2 배열 자르기 , 행렬의 곱셈 , 의상 , H-Index , [1차] 캐시 , 기능개발 , 튜플 (4) | 2024.09.04 |