728x90
반응형
SMALL

문제 설명

최대 5명씩 탑승가능한 놀이기구를 타기 위해 줄을 서있는 사람들의 이름이 담긴 문자열 리스트 names가 주어질 때, 앞에서 부터 5명씩 묶은 그룹의 가장 앞에 서있는 사람들의 이름을 담은 리스트를 return하도록 solution 함수를 완성해주세요. 마지막 그룹이 5명이 되지 않더라도 가장 앞에 있는 사람의 이름을 포함합니다.


제한사항

  • 5 ≤ names의 길이 ≤ 30
  • 1 ≤ names의 원소의 길이 ≤ 10
  • names의 원소는 영어 알파벳 소문자로만 이루어져 있습니다.

입출력 예

names result

["nami", "ahri", "jayce", "garen", "ivern", "vex", "jinx"] ["nami", "vex"]

입출력 예 설명

입출력 예 #1

  • 앞에서부터 5명씩 두 그룹으로 묶을 수 있습니다. ["nami", "ahri", "jayce", "garen", "ivern"], ["vex", "jinx"] 이 두 그룹에서 가장 앞에 서있는 사람들의 이름을 담은 리스트인 ["nami", "vex"]를 return합니다.
package Lv0;
/*
최대 5명씩 탑승가능한 놀이기구를 타기 위해 줄을 서있는 사람들의 이름이 담긴 문자열 리스트 names가 주어질 때, 앞에서 부터 5명씩 묶은 그룹의 가장 앞에 서있는 사람들의 이름을 담은 리스트를 return하도록 solution 함수를 완성해주세요.
마지막 그룹이 5명이 되지 않더라도 가장 앞에 있는 사람의 이름을 포함합니다.
 */
import java.util.ArrayList;

public class H181886 {
	public String[] solution(String[] names) {
		ArrayList<String> answer = new ArrayList<>();

		for (int i = 0; i < names.length; i += 5) {
			answer.add(names[i]);
		}

		return answer.toArray(new String[0]);
	}
}

class Main {
	public static void main(String[] args) {
		H181886 sol = new H181886();

		String[] names1 = {"nami", "ahri", "jayce", "garen", "ivern", "vex", "jinx"};

		String[] result1 = sol.solution(names1);

		for (String name : result1) {
			System.out.print(name + " ");
		}
	}
}
728x90
반응형
LIST

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

순서 바꾸기  (0) 2023.05.06
9로 나눈 나머지  (0) 2023.05.06
가까운 1 찾기  (1) 2023.05.05
할 일 목록  (0) 2023.05.05
콜라츠 수열 만들기  (0) 2023.05.05
728x90
반응형
SMALL

문제 설명

정수 배열 arr가 주어집니다. 이때 arr의 원소는 1 또는 0입니다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요.

단, 만약 그러한 인덱스가 없다면 -1을 반환합니다.


제한사항

  • 3 ≤ arr의 길이 ≤ 100'000
    • arr의 원소는 전부 1 또는 0입니다.

입출력 예

arr idx result

[0, 0, 0, 1] 1 3
[1, 0, 0, 1, 0, 0] 4 -1
[1, 1, 1, 1, 0] 3 3

입출력 예 설명

입출력 예 #1

  • 1보다 크면서 원소가 1인 가장 작은 인덱스는 3입니다. 따라서 3을 return 합니다.

입출력 예 #2

  • 4번 인덱스 이후에 1은 등장하지 않습니다. 따라서 -1을 return 합니다.

입출력 예 #3

  • 3번 인덱스의 값이 1입니다. 따라서 3을 return 합니다.
package Lv0;
/*
정수 배열 arr가 주어집니다.
이때 arr의 원소는 1 또는 0입니다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요.

단, 만약 그러한 인덱스가 없다면 -1을 반환합니다.
 */
public class H181898 {
	public int solution(int[] arr, int idx) {
		int answer = -1;

		for (int i = idx; i < arr.length; i++) {
			if (arr[i] == 1) {
				answer = i;
				break;
			}
		}

		return answer;
	}
}

 class Main {
	public static void main(String[] args) {
		H181898 sol = new H181898();

		int[] arr1 = {0, 0, 0, 1};
		int[] arr2 = {1, 0, 0, 1, 0, 0};
		int[] arr3 = {1, 1, 1, 1, 0};

		System.out.println(sol.solution(arr1, 1)); // 3
		System.out.println(sol.solution(arr2, 4)); // -1
		System.out.println(sol.solution(arr3, 3)); // 3
	}
}
728x90
반응형
LIST

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

9로 나눈 나머지  (0) 2023.05.06
5명씩  (0) 2023.05.05
할 일 목록  (0) 2023.05.05
콜라츠 수열 만들기  (0) 2023.05.05
주사위 게임 2  (0) 2023.05.05
728x90
반응형
SMALL

문제 설명

오늘 해야 할 일이 담긴 문자열 배열 todo_list와 각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished가 매개변수로 주어질 때, todo_list에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.


제한사항

  • 1 ≤ todo_list의 길이 1 ≤ 100
  • 2 ≤ todo_list의 원소의 길이 ≤ 20
    • todo_list의 원소는 영소문자로만 이루어져 있습니다.
    • todo_list의 원소는 모두 서로 다릅니다.
  • finished[i]는 true 또는 false이고 true는 todo_list[i]를 마쳤음을, false는 아직 마치지 못했음을 나타냅니다.
  • 아직 마치지 못한 일이 적어도 하나 있습니다.

입출력 예

todo_list finished result

["problemsolving", "practiceguitar", "swim", "studygraph"] [true, false, true, false] ["practiceguitar", "studygraph"]

입출력 예 설명

입출력 예 #1

  • 예제 1번의 todo_list 중에서 "problemsolving"과 "swim"은 마쳤고, "practiceguitar"와 "studygraph"는 아직 마치지 못했으므로 todo_list에서 나온 순서대로 담은 문자열 배열 ["practiceguitar", "studygraph"]를 return 합니다.
package Lv0;
/*
오늘 해야 할 일이 담긴 문자열 배열 todo_list와 각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished가 매개변수로 주어질 때, todo_list에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
 */
import java.util.ArrayList;

public class H181885 {
	public String[] solution(String[] todo_list, boolean[] finished) {
		ArrayList<String> notFinished = new ArrayList<>();
		for (int i = 0; i < todo_list.length; i++) {
			if (!finished[i]) {
				notFinished.add(todo_list[i]);
			}
		}
		String[] answer = new String[notFinished.size()];
		for (int i = 0; i < notFinished.size(); i++) {
			answer[i] = notFinished.get(i);
		}
		return answer;
	}
}
728x90
반응형
LIST

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

5명씩  (0) 2023.05.05
가까운 1 찾기  (1) 2023.05.05
콜라츠 수열 만들기  (0) 2023.05.05
주사위 게임 2  (0) 2023.05.05
배열의 원소 삭제하기  (0) 2023.05.05

+ Recent posts