반응형
123. 전국 대회 선발 고사
import java.util.*;
class Solution {
public int solution(int[] rank, boolean[] attendance) {
int answer = 0;
int array[] = new int[rank.length];
for(int i=0; i<rank.length; i++){
if(attendance[i]) array[i] = rank[i];
else rank[i] = 101;
}
Arrays.sort(rank);
for(int i=0; i<array.length; i++){
if(rank[0] == array[i]){
answer += i*10000;
}else if(rank[1] == array[i]){
answer += i*100;
}else if(rank[2] == array[i]){
answer += i;
}
}
return answer;
}
}
<작성한 코드>
rank의 길이만큼 정수형 배열 array를 선언해 줬다. 그리고 for문으로 만약 attendance [i]가 참이면 array에 추가해 줬고 거짓이라면 rank [i] 번째에 올 수 있는 최대경우의 수 100을 넘는 101을 넣어주었다. 그 뒤 Array.sort를 이용해서 rank배열을 오름차순으로 정렬해 줬다. 이렇게 되면 rank [0], rank [1], rank [2]가 1,2,3 등으로 정렬된다. 그래서 다음 for문에서는 rank [0]에 들어있는 값이 array [i]와 일치하면 그 자릿수인 i에 곱하기 10000을 하고 rank [1]는 i에 곱하기 100 rank [2]는 그대로 더해주고 반환하였다.
124. 뒤에서 5등 위로
import java.util.*;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[num_list.length-5];
int num = 0;
Arrays.sort(num_list);
for(int i=5; i<num_list.length; i++){
answer[num] = num_list[i];
num++;
}
return answer;
}
}
<작성한 코드>
answer의 길이는 num_list에서 5를 뺀값만큼 설정해 줬다. 그 뒤 Array.sort를 사용해서 num_list를 오름차순으로 정렬해 주고 for문을 통해서 5개를 뺀 다음 i는 5부터 num_list의 길이까지 반복시켰다. answer [0]부터 시작했고 num_list [i]의 값을 차례로 넣어준 뒤 반환하였다.
125. 뒤에서 5등까지
import java.util.*;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[5];
Arrays.sort(num_list);
for(int i=0; i<5; i++){
answer[i] = num_list[i];
}
return answer;
}
}
<작성한 코드>
이전 문제와 비슷했다. num_list를 오름차순 정렬후 5개만 answer [i]에 대입해 주고 반환하였다.
126. 배열의 길이에 따라 다른 연산하기
class Solution {
public int[] solution(int[] arr, int n) {
int[] answer = new int[arr.length];
for(int i=0; i<arr.length; i++){
if(arr.length % 2 == 1){
if(i%2 == 0) answer[i] = arr[i]+n;
else answer[i] = arr[i];
}else{
if(i%2 == 1) answer[i] = arr[i]+n;
else answer[i] = arr[i];
}
}
return answer;
}
}
<작성한 코드>
arr의 길이만큼 반복문을 돌렸다. 그 뒤 if문으로 길이가 홀수이면 짝수번째에 +n을 해줬고 길이가 짝수이면 홀수번째에 +n을 해주고 반환하였다.
반응형
'프로그래머스 문제풀이 > 알고리즘 (JAVA)' 카테고리의 다른 글
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (134~139번 문제풀이) (1) | 2023.10.16 |
---|---|
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (127~133번 문제풀이) (0) | 2023.10.12 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (116~122번 문제풀이) (1) | 2023.10.09 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (108~115번 문제풀이) (1) | 2023.10.09 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (101~107번 문제풀이) (1) | 2023.10.05 |
남건욱's 공부기록