2024. 5. 15. 18:29ㆍ코딩테스트 리뷰(프로그래머스)/코딩 기초 트레이닝 with Java
문제.1 - n 번째 원소부터
https://school.programmers.co.kr/learn/courses/30/lessons/181892
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명 정수 리스트 num_list 와 정수 n이 주어질 때, n번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return 하도록 solution 함수를 완성해주세요. |
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list, int n) {
return Arrays.copyOfRange(num_list, n-1, num_list.length);
}
}
문제.2 - 순서 바꾸기
https://school.programmers.co.kr/learn/courses/30/lessons/181891
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명 정수 리스트 num_list와 정수 n이 주어질 때, num_list를 n번째 원소 이후의 원소들과 n번째까지의 원소들로 나눠 n번째 원소 이후의 원소들을 n번째까지의 원소들 앞에 붙인 리스트를 return 하도록 solution 함수를 완성해주세요. |
import java.util.*;
class Solution {
public int[] solution(int[] num_list, int n) {
int[] front = Arrays.copyOfRange(num_list, 0, n);
int[] back = Arrays.copyOfRange(num_list, n, num_list.length);
int[] sum = new int[num_list.length];
int i=0;
for( int b : back ) sum[i++] = num_list.CharAt(i);
for( int f : front ) sum[i++] = f;
return sum;
}
}
문제.3 - 왼쪽 오른쪽
https://school.programmers.co.kr/learn/courses/30/lessons/181890
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명 문자열 리스트 str_list에는 "u", "d", "l", "r" 네 개의 문자열이 여러개 저장되어 있습니다. str_list에서 "l"과 "r" 중 먼저 나오는 문자열이 "l" 이라면 해당 문자열을 기준으로 왼쪽에 있는 문자열들을 순서대로 담은 리스트를 먼저 나오는 문자열이 "r"이라면 해당 문자열을 기준으로 오른쪽에 있는 문자열들을 순서대로 담은 리스트를 return 하도록 solution 함수를 완성해주세요. "l" 이나 "r" 이 없다면 빈 리스트를 return 합니다. |
import java.util.Arrays;
class Solution {
public String[] solution(String[] str_list) {
if( str_list.length == 1 ) return new String[]{};
for( int i = 0; i < str_list.length; i++ ) {
if( str_list[i].equals("l")) return Arrays.copyOfRange(str_list, 0, i);
else if ( str_list[i].equals("r")) return Arrays.copyOfRange(str_list, i+1, str_list.length);
}
return new String[]{};
}
}
문제.4 - n 번째 원소까지
https://school.programmers.co.kr/learn/courses/30/lessons/181889
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명 정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n번쨰 원소까지의 모든원소를 담은 리스트를 return 하도록 solution 함수를 완성해주세요. |
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list, int n) {
return Arrays.copyOfRange(num_list, 0, n);
}
}
문제.5 - n개 간격의 원소들
https://school.programmers.co.kr/learn/courses/30/lessons/181888
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명 정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개의 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return 하도록 solution 함수를 완성해주세요. |
class Solution {
public int[] solution(int[] num_list, int n) {
int size = (int)Math.ceil((double)num_list.length/n);
int[] answer = new int[size];
for ( int i = 0; i < size && i < num_list.length; i++ ) {
answer[i] += num_list[i*n];
}
return answer;
}
}
느낀점
뭔가 코드 가독성이 낮은 건지 아니면 코드 독해력이 부족한건지..
둘다인지. 모르겠네요...
코딩 스타일을 좀 바꾸도록 노력해야겠습니다.
'코딩테스트 리뷰(프로그래머스) > 코딩 기초 트레이닝 with Java' 카테고리의 다른 글
TIL) 프로그래머스 기초 트레이닝 21~22 Day & 입문 트레이닝 5~6 Day (3) | 2024.12.13 |
---|---|
코딩 기초 트레이닝 Day 14 with Java (3) | 2024.05.22 |
코딩 기초 트레이닝 Day 12 with Java (0) | 2024.05.14 |
코딩 기초 트레이닝 Day 11 with Java (2) | 2024.05.12 |
코딩 기초 트레이닝 Day 10 with Java (3) | 2024.05.10 |