728x90
반응형
SMALL

문제 설명

정수 배열 arr와 2개의 구간이 담긴 배열 intervals가 주어집니다.

intervals는 항상 [[a1, b1], [a2, b2]]의 꼴로 주어지며 각 구간은 닫힌 구간입니다. 닫힌 구간은 양 끝값과 그 사이의 값을 모두 포함하는 구간을 의미합니다.

이때 배열 arr의 첫 번째 구간에 해당하는 배열과 두 번째 구간에 해당하는 배열을 앞뒤로 붙여 새로운 배열을 만들어 return 하는 solution 함수를 완성해 주세요.


제한사항

  • 1 ≤ arr의 길이 ≤ 100,000
    • 1 ≤ arr의 원소 < 100
  • 1 ≤ a1 ≤ b1 < arr의 길이
  • 1 ≤ a2 ≤ b2 < arr의 길이

입출력 예

arr intervals result

[1, 2, 3, 4, 5] [[1, 3], [0, 4]] [2, 3, 4, 1, 2, 3, 4, 5]

입출력 예 설명

입출력 예 #1

  • 첫 번째 구간에 해당하는 배열은 [2, 3, 4] 입니다.
  • 두 번째 구간에 해당하는 배열은 [1, 2, 3, 4, 5] 입니다.
  • 따라서 이 두 배열을 앞뒤로 붙인 배열인 [2, 3, 4, 1, 2, 3, 4, 5]를 return 합니다.
package Lv0;

import java.util.Arrays;

public class H181895 {
	public int[] solution(int[] arr, int[][] intervals) {
		int[] firstInterval = Arrays.copyOfRange(arr, intervals[0][0], intervals[0][1] + 1);
		int[] secondInterval = Arrays.copyOfRange(arr, intervals[1][0], intervals[1][1] + 1);

		int[] answer = new int[firstInterval.length + secondInterval.length];

		return answer;
	}
}

인덱스를 0부터 시작하는 걸 못봄… 그래서 실패해서 다시 풀었습니다!

package Lv0;

import java.util.Arrays;

public class H181895 {
	public int[] solution(int[] arr, int[][] intervals) {
		int[] firstInterval = Arrays.copyOfRange(arr, intervals[0][0], intervals[0][1] + 1);
		int[] secondInterval = Arrays.copyOfRange(arr, intervals[1][0], intervals[1][1] + 1);

		int[] answer = new int[firstInterval.length + secondInterval.length];
		System.arraycopy(firstInterval, 0, answer, 0, firstInterval.length);
		System.arraycopy(secondInterval, 0, answer, firstInterval.length, secondInterval.length);

		return answer;
	}
}

성공!!

728x90
반응형
LIST

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

0 떼기  (0) 2023.05.06
ad 제거하기  (0) 2023.05.06
순서 바꾸기  (0) 2023.05.06
9로 나눈 나머지  (0) 2023.05.06
5명씩  (0) 2023.05.05
728x90
반응형
SMALL

문제 설명

정수 리스트 num_list와 정수 n이 주어질 때, num_list를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요.


제한사항

  • 2 ≤ num_list의 길이 ≤ 30
  • 1 ≤ num_list의 원소 ≤ 9
  • 1 ≤ n ≤ num_list의 길이

입출력 예

num_list n result

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

입출력 예 설명

입출력 예 #1

  • [2, 1, 6]에서 첫 번째 이후의 원소는 [1, 6]이고 첫 번째까지의 원소는 [2]입니다. 두 리스트를 이어 붙이면 [1, 6, 2]가 됩니다.

입출력 예 #2

  • [5, 2, 1, 7, 5]에서 세 번째 이후의 원소는 [7, 5]이고 세 번째까지의 원소는 [5, 2, 1]입니다. 두 리스트를 이어 붙이면 [7, 5, 5, 2, 1]가 됩니다.
package Lv0;
/*
정수 리스트 num_list와 정수 n이 주어질 때, 
num_list를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요.
 */
import java.util.Arrays;

public class H181891 {
	public int[] solution(int[] num_list, int n) {
		int[] firstPart = Arrays.copyOfRange(num_list, 0, n);
		int[] secondPart = Arrays.copyOfRange(num_list, n, num_list.length);

		int[] answer = new int[num_list.length];
		System.arraycopy(secondPart, 0, answer, 0, secondPart.length);
		System.arraycopy(firstPart, 0, answer, secondPart.length, firstPart.length);

		return answer;
	}
}
728x90
반응형
LIST

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

ad 제거하기  (0) 2023.05.06
배열 만들기 3  (0) 2023.05.06
9로 나눈 나머지  (0) 2023.05.06
5명씩  (0) 2023.05.05
가까운 1 찾기  (1) 2023.05.05
728x90
반응형
SMALL

문제 설명

음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다.

이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요.


제한사항

  • 1 ≤ number의 길이 ≤ 100,000
  • number의 원소는 숫자로만 이루어져 있습니다.
  • number는 정수 0이 아니라면 숫자 '0'으로 시작하지 않습니다.

입출력 예

number result

"123" 6
"78720646226947352489" 2

입출력 예 설명

입출력 예 #1

  • 예제 1번의 number는 123으로 각 자리 숫자의 합은 6입니다. 6을 9로 나눈 나머지는 6이고, 실제로 123 = 9 × 13 + 6입니다. 따라서 6을 return 합니다.

입출력 예 #2

  • 예제 2번의 number는 78720646226947352489으로 각자리 숫자의 합은 101입니다. 101을 9로 나눈 나머지는 2이고, 실제로 78720646226947352489 = 9 × 8746738469660816943 + 2입니다. 따라서 2를 return 합니다.
package Lv0;
/*
음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다.
이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요.
 */
public class H181914 {
	public int solution(String number) {
		int answer = 0;

		for (int i = 0; i < number.length(); i++) {
			answer += number.charAt(i) - '0';
		}
		return answer % 9;
	}
}
728x90
반응형
LIST

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

배열 만들기 3  (0) 2023.05.06
순서 바꾸기  (0) 2023.05.06
5명씩  (0) 2023.05.05
가까운 1 찾기  (1) 2023.05.05
할 일 목록  (0) 2023.05.05

+ Recent posts