728x90
반응형
SMALL

문제 설명

정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요.

num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다.

num_list n result

[1, 2, 3, 4, 5, 6, 7, 8] 2 [[1, 2], [3, 4], [5, 6], [7, 8]]

제한사항

  • num_list의 길이는 n의 배 수개입니다.
  • 0 ≤ num_list의 길이 ≤ 150
  • 2 ≤ n < num_list의 길이

입출력 예

num_list n result

[1, 2, 3, 4, 5, 6, 7, 8] 2 [[1, 2], [3, 4], [5, 6], [7, 8]]
[100, 95, 2, 4, 5, 6, 18, 33, 948] 3 [[100, 95, 2], [4, 5, 6], [18, 33, 948]]

입출력 예 설명

입출력 예 #1

  • num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 2 * 4 배열로 변경한 [[1, 2], [3, 4], [5, 6], [7, 8]] 을 return합니다.

입출력 예 #2

  • num_list가 [100, 95, 2, 4, 5, 6, 18, 33, 948] 로 길이가 9이고 n이 3이므로 3 * 3 배열로 변경한 [[100, 95, 2], [4, 5, 6], [18, 33, 948]] 을 return합니다.
package Lv0;

import java.util.Arrays;

public class H120842 {
    public static int[][] solution(int[] num_list, int n) {
        int[][] answer = new int[num_list.length/n][n];
        int count = 0;

        for (int i = 0; i < num_list.length/n; i++) {
            for (int j = 0; j < n; j++) {
                answer[i][j] = num_list[count];
            }
        }
        return answer;
    }
    public static void main(String[] args){
        int[] num_list = {1,2,3,4,5,6,7,8};
        int n = 2;
        System.out.println(Arrays.toString(solution(num_list, n)));
    }
}
728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글

이진수 더하기  (0) 2023.02.05
편지  (0) 2023.02.04
구슬을 나누는 경우의 수  (0) 2023.02.02
가위 바위 보  (0) 2023.02.02
모스부호(1)  (0) 2023.02.02
728x90
반응형
SMALL

문제 설명

머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ balls ≤ 30
  • 1 ≤ share ≤ 30
  • 구슬을 고르는 순서는 고려하지 않습니다.
  • share ≤ balls

입출력 예

balls share result

3 2 3
5 3 10

입출력 예 설명

입출력 예 #1

  • 서로 다른 구슬 3개 중 2개를 고르는 경우의 수는 3입니다.

입출력 예 #2

  • 서로 다른 구슬 5개 중 3개를 고르는 경우의 수는 10입니다.

Hint

서로 다른 n개 중 m개를 뽑는 경우의 수 공식은 다음과 같습니다.

package Lv0;

import java.math.BigInteger;

public class H120840 {
        public static BigInteger solution(int balls, int share) {
            BigInteger n = BigInteger.ONE, m = BigInteger.ONE;
            long select1 = balls-share > share ? balls-share : share;
            long select2 = balls-share > share? share : balls-share;
            for(long i = select1+1; i <= balls; i++)
                n = n.multiply(BigInteger.valueOf(i));
            for(long i = 2L; i <= select2; i++)
                m = m.multiply(BigInteger.valueOf(i));
            return n.divide(m);
        }
    public static void main(String[] args){
        int balls1 = 3;
        int share1 = 2;
        int balls2 = 5;
        int share2 = 3;
        System.out.println(solution(balls1, share1));
        System.out.println(solution(balls2, share2));
    }
}

 

728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글

편지  (0) 2023.02.04
2차원으로 만들기  (0) 2023.02.03
가위 바위 보  (0) 2023.02.02
모스부호(1)  (0) 2023.02.02
진료 순서 정하기  (0) 2023.01.31
728x90
반응형
SMALL

문제 설명

가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.


제한사항

  • 0 < rsp의 길이 ≤ 100
  • rsp와 길이가 같은 문자열을 return 합니다.
  • rsp는 숫자 0, 2, 5로 이루어져 있습니다.

입출력 예

rsp result

"2" "0"
"205" "052"

입출력 예 설명

입출력 예 #1

  • "2"는 가위이므로 바위를 나타내는 "0"을 return 합니다.

입출력 예 #2

  • "205"는 순서대로 가위, 바위, 보이고 이를 모두 이기려면 바위, 보, 가위를 순서대로 내야하므로 “052”를 return합니다.
package Lv0;
/*
가위는 2 바위는 0 보는 5로 표현합니다.
가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때,
rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
 */
public class H120839 {
    public static String solution(String rsp) {
        String answer = "";
        String[] rspA = rsp.split("");

        for (int i = 0; i < rspA.length; i++) {
            if (rspA[i].equals("2")) { // 가위
                answer += "0"; // 바위
            } else if (rspA[i].equals("0")) { // 바위
                answer += "5"; // 보
            } else if (rspA[i].equals("5")) { // 보
                answer += "2"; // 가위
            }
        }
            return answer;

    }
    public static void main(String[] args){
        String rsp1 = "2";
        String rsp2 = "205";
        System.out.println(solution(rsp1));
        System.out.println(solution(rsp2));
    }
}

 

728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글

2차원으로 만들기  (0) 2023.02.03
구슬을 나누는 경우의 수  (0) 2023.02.02
모스부호(1)  (0) 2023.02.02
진료 순서 정하기  (0) 2023.01.31
외계행성의 나이  (0) 2023.01.31

+ Recent posts