16주차 알고리즘

이동규·2023년 8월 6일

코테

목록 보기
7/22

class Solution {
    public boolean solution(int x) {
        boolean answer;
        int temp =x;
        int sum =0 ;
        while (temp>0) {
            sum += temp % 10;
            temp =  temp /10;
        }
        answer = x % sum== 0?true:false;


        return answer;
    } 
}

class Solution2 {
    public long solution(int a, int b) {
        long answer = 0;
        if (a>b) {
            for (int i = a; i >= b; i--) {
                answer += i;
            }
            return answer;
        }
        for (int i = a; i <=b; i++) {
            answer += i;
        }
        return answer;
    }
}

class Solution3 {
    public int solution(int num) {
        int answer = 0;
        int count =0;
        long tmp =num;
        if (num ==1) {
         return 0;   
        }
        while (tmp != 1) {
            if (tmp % 2 == 0) {
                ++count;
                tmp/=2;
                
            }
            else if(tmp % 2 == 1){
                tmp = tmp*3 +1;
                ++count;      
            }
           
            if (count == 500) {
                return -1;
            }
        }

        
        return count;
    }
}

class Solution4 {
    public List<Integer> solution(int[] arr, int divisor) {
        List <Integer>list = new ArrayList<>(arr.length);
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % divisor == 0) {
                list.add(arr[i]);
            }
        }
        if (list.isEmpty()) {
            list.add(-1);
        }
        Collections.sort(list);
       return list;
    }
}

0개의 댓글