15596 - 정수 N개의 합
public class Test {
long sum(int[] a) {
long ans = 0;
for(int i = 0; i < a.length; i++){
ans += a[i];
}
return ans;
}
}
4673 - 셀프 넘버
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<Integer> allSet = new HashSet<Integer>();
HashSet<Integer> processSet = new HashSet<Integer>();
for (int i = 1; i < 10001; i++) {
allSet.add(i);
processSet.add(d(i));
}
allSet.removeAll(processSet);
for (int n : allSet)
System.out.println(n);
}
public static int d(int number) {
int sum = number;
while (number != 0) {
sum = sum + (number % 10); // 첫 째 자리수
number = number / 10; // 10을 나누어 첫 째 자리를 없앤다
}
return sum;
}
}
HashSet에서 removeAll은 차집합이다.
addAll() : 합집합
retainAll() : 교집합
removeAll() : 차집합
containsAll() : 집합 포함 여부(부분 집합)
1065 - 한수
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int count = 0;
for (int i = 1; i <= N; i++) {
count += hansu(i);
}
System.out.println(count);
}
public static int hansu(int number) {
String str = Integer.toString(number);
int diff1, diff2, a, b, c;
if (number < 100)
return 1;
else if (number < 1000) {
c = number % 10;
number /= 10;
b = number % 10;
number /= 10;
a = number % 10;
diff1 = a - b;
diff2 = b - c;
if (diff1 == diff2)
return 1;
else
return 0;
} else
return 0;
}
}
'Algorithm(알고리즘) > Java' 카테고리의 다른 글
[Jungol][Java][stack] 1141 - 불쾌한 날 (0) | 2021.02.05 |
---|---|
Java 백준 단계별 풀기 (기초 문법 정리) 문자열 (0) | 2020.12.26 |
Java 백준 단계별 풀기 (기초 문법 정리) 배열 (0) | 2020.12.24 |
Java 백준 단계별 풀기 (기초 문법 정리) for문, while문 (0) | 2020.12.23 |
Java 백준 단계별 풀기 (기초 문법 정리) if문 (0) | 2020.12.22 |