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합니다.
class Solution {
    public 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];
                count++;
            }
        }
        return answer;
    }
}
728x90
반응형
LIST

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

자릿수 더하기  (0) 2023.02.08
공 던지기  (0) 2023.02.07
이진수 더하기  (0) 2023.02.05
편지  (0) 2023.02.04
2차원으로 만들기  (0) 2023.02.03
728x90
반응형
SMALL

문제 설명

이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.


제한사항

  • return 값은 이진수를 의미하는 문자열입니다.
  • 1 ≤ bin1, bin2의 길이 ≤ 10
  • bin1과 bin2는 0과 1로만 이루어져 있습니다.
  • bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다.

입출력 예

bin1 bin2 result

"10" "11" "101"
"1001" "1111" "11000"

입출력 예 설명

입출력 예 #1

  • 10 + 11 = 101 이므로 "101" 을 return합니다.

입출력 예 #2

  • 1001 + 1111 = 11000 이므로 "11000"을 return합니다.
package Lv0;

import java.util.Scanner;

public class H120885 {
    public static String solution(String bin1, String bin2) {
        String answer = "";
        long num1 = 0, num2 = 0, sum = 0;

        long cnt = 1;
        for (int i = bin1.length() - 1; i >= 0; i--) {
            num1 += Long.parseLong(bin1.charAt(i) + "") * cnt;
            cnt *= 2;
        }

        cnt = 1;
        for (int i = bin2.length() - 1; i >= 0; i--) {
            num2 += Long.parseLong(bin2.charAt(i) + "") * cnt;
            cnt *= 2;
        }

        sum = num1 + num2;
        while (sum >= 1) {
            answer = sum % 2 + answer;
            sum /= 2;
        }

        return (answer == "" ? answer = "0" : answer);
    }

    public static void main(String[] args){
        String bin1 = "10";
        String bin2 = "11";
        System.out.println(solution(bin1, bin2));
    }
}

 

728x90
반응형
LIST

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

공 던지기  (0) 2023.02.07
2차원으로 만들기  (0) 2023.02.06
편지  (0) 2023.02.04
2차원으로 만들기  (0) 2023.02.03
구슬을 나누는 경우의 수  (0) 2023.02.02
728x90
반응형
SMALL

문제 설명

머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.


제한사항

  • 공백도 하나의 문자로 취급합니다.
  • 1 ≤ message의 길이 ≤ 50
  • 편지지의 여백은 생각하지 않습니다.
  • message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다.

입출력 예

message result

"happy birthday!" 30
"I love you~" 22

입출력 예 설명

입출력 예 #1

  • message의 글자 수가 15개로 최소 가로 30cm의 편지지가 필요합니다.

입출력 예 #2

  • message의 글자 수가 11개로 최소 가로 22cm의 편지지가 필요합니다.
package Lv0;

public class H120898 {
    public static int solution(String message) {
        int answer = 0;
        answer = message.length() * 2;
        return answer;
    }
    public static void main(String[] args){
        String meessage1 = "haappy birthday!";
        System.out.println(solution(meessage1));
    }
}
728x90
반응형
LIST

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

2차원으로 만들기  (0) 2023.02.06
이진수 더하기  (0) 2023.02.05
2차원으로 만들기  (0) 2023.02.03
구슬을 나누는 경우의 수  (0) 2023.02.02
가위 바위 보  (0) 2023.02.02

+ Recent posts