[2023.08.18] Java 문제

이재하·2023년 8월 18일
0

항해99

목록 보기
17/48
post-custom-banner

자릿수 더하기

public class Solution {
    public int solution(int n) {
        int answer = 0; // 결과를 저장할 변수 초기화
        
        while (n != 0) { // n이 0이 아닐 때까지 반복
            answer += n % 10; // n의 일의 자리 숫자를 answer에 더함
            n /= 10; // n을 10으로 나누어 일의 자리를 없앰
        }
        
        return answer; // 최종 결과 반환
    }
}

기억에 남는 문제

x만큼 간격이 있는 n개의 숫자

class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        for (int i = 0; i < n; i++) {
            answer[i] = x + ((long)x * i);
        }
        return answer;
    }
}

long 타입 형변환 때문에 오류가 있었다.

자연수 뒤집어 배열로 만들기

class Solution {
    public int[] solution(long n) {
        String str = n + "";
        int[] answer = new int[str.length()];
        for (int i = 0; i < answer.length; i++) {
            answer[i] = str.charAt(answer.length-i-1) - '0'; // -'0' :아스키 코드값
        }
        return answer;
    }
}

다시 풀어봐야 할 문제

정수 내림차순으로 배치하기

import java.util.Arrays;
import java.util.Collections;

class Solution {
    public long solution(long n) {
        long answer = 0;
        
        String str = "";
        String[] strArr = str.split("");
        
        Arrays.sort(strArr, Collections.reverseOrder());
        str = String.join("", strArr);
        answer = Long.parseLong(str);
        return answer;
    }
}


// str[] arr = (n+"").split("") 
// 숫자를 문자열 배열로

### 정수 제곱근 판별

class Solution {
    public long solution(long n) {
        long answer = 0;
        double x = Math.sqrt(n);

        if (x % 1 > 0) { 
            answer = -1; 
        } else { 
            answer = (long) Math.pow(x + 1, 2); 
        }
        
        return answer;
    }
}

하샤드 수

class Solution {
                public boolean solution(int x) {
            String str = x + "";

            String[] xArr = str.split("");

            int answer = 0;

            for (String num : xArr) {
                answer += Integer.parseInt(num);
            }

            return (x % answer == 0? true : false);
        }
}
post-custom-banner

0개의 댓글