본문 바로가기

프로그래머스 문제

프로그래머스 (Java) 문제들2

문제 1:

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

 

문제 설명:

함수 solution은 정수 x와 자연수 n을 입력받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해 주세요.

 

코드:

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

 

문제 2:
나머지가 1이 되는 수 찾기

 

문제 설명:
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해 주세요. 답이 항상 존재함은 증명될 수 있습니다.

 

코드:

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for(int i = 1; i <= n; i++){
            if(n % i == 1){
                answer = i;
                break;
            }
        }
        
        return answer;
    }
}

 

 

문제 3:

자연수 뒤집어 배열 만들기

 

문제 설명:

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

 

 

코드:

class Solution {
    public int[] solution(long n) {
        
        String st = Long.toString(n);
        
        int[] answer = new int[st.length()];
        
        for(int i = st.length()-1, j = 0; i >= 0; i--, j++){
            answer[j] = st.charAt(i) - 48;
        }
        
        return answer;
    }
}

 

 

 

문제 4:

응양 더하기

 

문제 설명:
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해 주세요.

 

 

코드:

class Solution {
    public int solution(int[] absolutes, boolean[] signs) {
        int answer = 0;
        
        for(int i = 0; i < signs.length; i++){
            if(!signs[i]){
                absolutes[i] *= -1;
            }
        }
        
        for(int i = 0; i < absolutes.length; i++){
            answer += absolutes[i];
        }
        
        return answer;
    }
}

 

 

문제 5:

핸드폰 번호 가리기

 

문제 설명:

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해 주세요.

 

코드:

class Solution {
    public String solution(String phone_number) {
        String answer = "";
        
        char[] ch = new char[phone_number.length()];
        
        for(int i = 0; i < phone_number.length(); i++){
            ch[i] = phone_number.charAt(i);
        }
        
        for(int i = 0; i < ch.length - 4; i++){
            answer += "*";
        }
        
        for(int i = ch.length- 4; i < ch.length; i++){
            answer += ch[i];
        }
        
        return answer;
    }
}