Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Eclipse
- 에러
- 오라클
- 자바
- db
- 쿼리
- 함수
- error
- JPA
- Security
- oracle
- jquery
- 스프링
- Git
- 코틀린
- Spring
- 생성
- kotlin
- IntelliJ
- 시큐리티
- aws
- Vue
- 넥사크로
- Java
- JavaScript
- GitHub
- 알고리즘
- 프로그래머스
- mybatis
- 방법
Archives
- Today
- Total
송민준의 개발노트
프로그래머스-k번째수 본문
https://programmers.co.kr/learn/courses/30/lessons/42748
여러 값들이 들어 있는 배열의 시작 인덱스와 끝 인덱스를 받아 값을 뽑아와서 정렬 후 x번째 값을 뽑아내는 문제
이클립스에서 실행해본 코드다
class Solution {
public static void main(String args[]) {
Solution s = new Solution();
int[] array = {1, 5, 2, 6, 3, 7, 4};
int[][] commands = {{2,5,3},{4,4,1},{1,7,3}};
for(int i = 0; i < commands.length; i++) {
System.out.print(s.solution(array, commands)[i]+ " ");
}
}
public int[] solution(int[] array, int[][] commands) {
// answer를 commands 길이 만큼 크기를 선언해줌
int[] answer = new int[commands.length];
// answer index 선언
int answercount =0;
// commands 길이 만큼 반복문 실행
for(int i = 0; i < commands.length; i++) {
// temp는 시작-끝+1을 해준만큼의 길이를 선언 (ex. 5-2+1 = 4 .. 2,3,4,5)
int[] temp = new int[commands[i][1]-commands[i][0]+1];
// temp의 index 선언
int cnt = 0;
// i번째 [0]값부터 시작해서 [1]값까지
for(int j = commands[i][0]; j <= commands[i][1]; j++) {
// [0]번째 부터 시작하는데 array는 배열이므로 인덱스 값은 j-1임
temp[cnt++] = array[j-1];
}
selectionSort(temp);
// answer 배열에 temp 값을 넣어줌
answer[answercount++] = temp[commands[i][2]-1];
}
return answer;
}
// 선택정렬 메소드
public static int[] selectionSort(int[] array) {
for(int i =0; i < array.length-1; i++) {
for(int j = i; j < array.length; j++) {
if(array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
return array;
}
}
참고할 코드
Arrays를 활용해서 sort, copyOfRange를 활용해서 정렬, 원하는 배열의 값만 복사를 하였다.
Arrays에 대해 정리할 필요가 있음
'알고리즘' 카테고리의 다른 글
DFS(Depth-First Search) - 깊이 우선 탐색법 (0) | 2019.12.10 |
---|---|
프로그래머스-두 정수 사이의 합 (0) | 2019.10.29 |
프로그래머스-서울에서 김서방 찾기 (0) | 2019.10.28 |
프로그래머스-같은 숫자는 싫어 (0) | 2019.10.27 |
프로그래머스-2016년 (0) | 2019.10.26 |