두 번째 프로그래머스!
스터디에서 풀어본 문제인데
프로그래머스에 익숙해지려고 노력하고 있다.
문제
https://school.programmers.co.kr/learn/courses/30/lessons/42748
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
설계
알고리즘 설계[접근 방법] : 반복문과 조건문
1. 문자열을 문자 배열로 바꾼 후, 문자 배열을 입력받은 범위를 자른다.
2. 임시 배열을 만든 후 임시 배열에 자른 문자열을 저장한다.
3. 임시 배열을 정렬한 후 k번째를 정답 배열에 저장한다.
코드
import java.util.*;
class Solution {
public int[] solution(int[] array, int[][] commands) {
//정답배열
int[] answer = new int[commands.length];
for(int i=0; i<commands.length; i++){
int start = commands[i][0]; //시작 인덱스
int end = commands[i][1]; //끝 인덱스
int choose = commands[i][2]; //k번째
//문자열을 자른 후 정렬할 배열
int[] tmp = new int[end-start+1];
int idx=0;
//start부터 end까지의 문자를 tmp배열에 넣기
for(int j=start-1; j<end; j++){
tmp[idx++]=array[j];
}
//정렬
Arrays.sort(tmp);
//정답배열에 넣기
answer[i] = tmp[choose-1];
}
return answer;
}
}
(❁´◡`❁)
끝!
'[자료구조] 알고리즘' 카테고리의 다른 글
[백준] 6118번 숨바꼭질 (BFS_JAVA) (0) | 2023.07.14 |
---|---|
[프로그래머스] 카펫(약수구하기_JAVA) (0) | 2023.07.12 |
[프로그래머스] 카드 뭉치 (JAVA) (0) | 2023.07.06 |
[백준] 14719번 빗물(구현_JAVA) (0) | 2023.07.03 |
[백준] 21610번_마법사 상어와 비바라기 (구현_JAVA) (0) | 2023.06.29 |