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 |
Tags
- 코테
- array
- Class
- Stack
- sorting
- 코딩테스트
- 자바
- SQL
- Binary Search
- Math
- Data Structure
- greedy
- Number Theory
- geometry
- database
- Method
- Binary Tree
- string
- hash table
- 구현
- 파이썬
- java
- simulation
- Counting
- Matrix
- bit manipulation
- two pointers
- implement
- Tree
- dynamic programming
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 728. Self Dividing Numbers 본문
1. Input
1) int 변수 left
2) int 변수 right
2. Output
1) left 이상 right 이하의 수 중에서 self-dividing number를 담은 int 배열
2) self-dividing number란 그 수가 각 자리수로 모두 나누어떨어지는 수를 말한다.
3. Constraint
1) 1 <= left <= right <= 104
4. Example
Input: left=10, right=15-> Output: {11,12,15}
설명:
- 10을 1과 0으로 나눈다 -> 0으로 나눌 수 없으므로 pass
- 11을 1과 1로 나눈다 -> 나머지는 0, 0이므로 배열에 포함
- 12를 1과 2로 나눈다 -> 나머지는 0, 0이므로 배열에 포함
- 13을 1과 3으로 나눈다 -> 나머지는 0, 1이므로 pass
- 14를 1과 4로 나눈다 -> 나머지는 0, 2이므로 pass
- 15를 1과 5로 나눈다 -> 나머지는 0, 0이므로 배열에 포함
- 따라서 {11,12,15}를 반환한다.
5. Code
1) 첫 코드(2022/07/25)
List<Integer> list = new ArrayList();
List<Integer> output = new ArrayList();
for(int i=left ; i<=right ; i++){
int num = i;
boolean b = true;
while(num>=1){
list.add(num%10);
num /= 10;
}
for(int j=0 ; j<list.size() ; j++)
if(list.get(Integer.valueOf(j))==0 || i%list.get(Integer.valueOf(j))!=0){
b = false; break;
}
if(b) output.add(i);
list.clear();
} // for i
return output;
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 747. Largest Number At Least Twice of Others (0) | 2022.12.07 |
---|---|
[LeetCode/Easy] 744. Find Smallest Letter Greater Than Target (0) | 2022.12.06 |
[LeetCode/Easy] 724. Find Pivot Index (0) | 2022.12.06 |
[LeetCode/Easy] 709. To Lower Case (0) | 2022.12.05 |
[LeetCode/Easy] 693. Binary Number with Alternating Bits (0) | 2022.12.05 |