JAVA/프로그래머스 코딩 기초 트레이닝 77

[프로그래머스, LV.0] 2의 영역

목차 #1 2의 영역 문제 설명 정수 배열 arr가 주어집니다. 배열 안의 2가 모두 포함된 가장 작은 연속된 부분 배열을 return 하는 solution 함수를 완성해 주세요. 단, arr에 2가 없는 경우 [-1]을 return 합니다. 제한사항 1 ≤ arr의 길이 ≤ 100,000 1 ≤ arr의 원소 ≤ 10 입출력 예 arr result {1, 2, 1, 4, 5, 2, 9} {2, 1, 4, 5, 2} {1, 2, 1} {2} {1, 1, 1} {-1} {1, 2, 1, 2, 1, 10, 2, 1} {2, 1, 2, 1, 10, 2} #2 알고리즘 및 코드 import java.util.ArrayList; import java.util.List; class Solution { public ..

[프로그래머스, LV.0] 배열 만들기 3

목차 #1 배열 만들기 3 문제 설명 정수 배열 arr와 2개의 구간이 담긴 배열 intervals가 주어집니다. intervals는 항상 [[a1, b1], [a2, b2]]의 꼴로 주어지며 각 구간은 닫힌 구간입니다. 닫힌 구간은 양 끝값과 그 사이의 값을 모두 포함하는 구간을 의미합니다. 이때 배열 arr의 첫 번째 구간에 해당하는 배열과 두 번째 구간에 해당하는 배열을 앞뒤로 붙여 새로운 배열을 만들어 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 100,000 1 ≤ arr의 원소 < 100 1 ≤ a1 ≤ b1

[프로그래머스, LV.0] 리스트 자르기

목차 #1 리스트 자르기 문제 설명 정수 n과 정수 3개가 담긴 리스트 slicer 그리고 정수 여러 개가 담긴 리스트 num_list가 주어집니다. slicer에 담긴 정수를 차례대로 a, b, c라고 할 때, n에 따라 다음과 같이 num_list를 슬라이싱 하려고 합니다. n = 1 : num_list의 0번 인덱스부터 b번 인덱스까지 n = 2 : num_list의 a번 인덱스부터 마지막 인덱스까지 n = 3 : num_list의 a번 인덱스부터 b번 인덱스까지 n = 4 : num_list의 a번 인덱스부터 b번 인덱스까지 c 간격으로 올바르게 슬라이싱 한 리스트를 return 하도록 solution 함수를 완성해 주세요. 제한사항 n 은 1, 2, 3, 4 중 하나입니다. slicer의 길이 ..

[프로그래머스, LV.0] 가까운 1 찾기

목차 #1 가까운 1 찾기 문제 설명 정수 배열 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 #2 알고리즘 및 코드 class Solution { public int solution(int[] arr, int idx) { for(int i = idx; i < arr..

[프로그래머스, LV.0] 배열 만들기 1

목차 #1 배열 만들기 1 문제 설명 정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ n ≤ 1,000,000 1 ≤ k ≤ min(1,000, n) 입출력 예 n k result 10 3 [3, 6, 9] 15 5 [5, 10, 15] #2 알고리즘 및 코드 # 방법 1 그저 반복문 사용... class Solution { public int[] solution(int n, int k) { int[] answer = new int[n / k]; for(int i = 0; i < n / k; i++){ for(int j = 0; j

[프로그래머스, LV.0] 첫 번째로 나오는 음수

목차 #1 첫 번째로 나오는 음수 문제 설명 정수 리스트 num_list가 주어질 때, 첫 번째로 나오는 음수의 인덱스를 return하도록 solution 함수를 완성해주세요. 음수가 없다면 -1을 return합니다. 제한 사항 5 ≤ num_list의 길이 ≤ 100 -10 ≤ num_list의 원소 ≤ 100 입출력 예 num_list result [12, 4, 15, 46, 38, -2, 15] 5 [13, 22, 53, 24, 15, 6] -1 #2 알고리즘 및 코드 class Solution { public int solution(int[] num_list) { for(int i = 0; i < num_list.length; i++){ if(num_list[i] < 0) return i; } r..

[프로그래머스, LV.0] 문자 개수 세기

목차 #1 문자 개수 세시 문제 설명 알파벳 대소문자로만 이루어진 문자열 my_string이 주어질 때, my_string에서 'A'의 개수, my_string에서 'B'의 개수,..., my_string에서 'Z'의 개수, my_string에서 'a'의 개수, my_string에서 'b'의 개수,..., my_string에서 'z'의 개수를 순서대로 담은 길이 52의 정수 배열을 return 하는 solution 함수를 작성해 주세요. 제한 사항 1 ≤ my_string의 길이 ≤ 1,000 입출력 예 my_string result "Programmers" [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ..

[프로그래머스, LV.0] 세로 읽기

#1 세로 읽기 문제 설명 문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요. 제한사항 my_string은 영소문자로 이루어져 있습니다. 1 ≤ m ≤ my_string의 길이 ≤ 1,000 m은 my_string 길이의 약수로만 주어집니다. 1 ≤ c ≤ m 입출력 예 my_string m c result "ihrhbakrfpndopljhygc" 4 2 "happy" "programmers" 1 1 "programmers" 입출력 예 설명 #2 코드 및 알고리즘 class Solution { public String solution..