Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- hash table
- Data Structure
- dynamic programming
- string
- java
- bit manipulation
- Stack
- Number Theory
- Tree
- simulation
- database
- 파이썬
- two pointers
- implement
- Method
- array
- 코테
- Matrix
- Binary Tree
- Binary Search
- SQL
- 구현
- sorting
- greedy
- Counting
- 코딩테스트
- Math
- 자바
- geometry
- Class
Archives
- Today
- Total
코린이의 소소한 공부노트
[프로그래머스/Lv.0] 리스트 자르기 본문
1. Input, Output, Example
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 간격으로
- 올바르게 슬라이싱한 리스트를 반환
2. Constraint
1) n 은 1, 2, 3, 4 중 하나
2) slicer의 길이 = 3
3) slicer에 담긴 정수를 차례대로 a, b, c라고 할 때
0 ≤ a ≤ b ≤ num_list의 길이 - 1
1 ≤ c ≤ 3
5 ≤ num_list의 길이 ≤ 30
4) 0 ≤ num_list의 원소 ≤ 100
3. Code
1) 첫 코드(2023/05/01)
import java.util.*;
class Solution {
public int[] solution(int n, int[] slicer, int[] num_list) {
int[] answer;
if(n==1){
answer = new int[slicer[1]+1];
for(int i=0 ; i<answer.length ; i++)
answer[i] = num_list[i];
} else if(n==2){
answer = new int[num_list.length-slicer[0]];
for(int i=slicer[0] ; i<num_list.length ; i++)
answer[i-slicer[0]] = num_list[i];
} else if(n==3){
answer = new int[slicer[1]-slicer[0]+1];
for(int i=slicer[0] ; i<=slicer[1] ; i++)
answer[i-slicer[0]] = num_list[i];
} else{
if((slicer[1]-slicer[0]+1)%slicer[2]==0)
answer = new int[(slicer[1]-slicer[0]+1)/slicer[2]];
else
answer = new int[(slicer[1]-slicer[0]+1)/slicer[2] +1];
for(int i=slicer[0], j=0 ; i<=slicer[1] ; i+=slicer[2], j++)
answer[j] = num_list[i];
}
return answer;
}
}
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[프로그래머스/Lv.0] 문자열 묶기 (0) | 2023.05.01 |
---|---|
[프로그래머스/Lv.0] 수열과 구간 쿼리 2 (0) | 2023.05.01 |
[프로그래머스/Lv.0] 조건 문자열 (0) | 2023.05.01 |
[프로그래머스/Lv.0] 문자열이 몇 번 등장하는지 세기 (0) | 2023.05.01 |
[프로그래머스/Lv.0] 빈 배열에 추가, 삭제하기 (0) | 2023.05.01 |