문제 - 마지막 두 원소

풀이
import java.util.*;
class Solution {
public List solution(int[] num_list) {
List<Integer> answer = new ArrayList<>();
int last = num_list[num_list.length - 1];
int lastb = num_list[num_list.length - 2];
for(int i = 0; i < num_list.length; i++){
answer.add(num_list[i]);
}
if (last > lastb) {
answer.add(last - lastb);
} else {
answer.add(last * 2);
}
return answer;
}
}
문제 - 수 조작하기 1

풀이
class Solution {
public int solution(int n, String control) {
String[] split = control.split("");
for (int i = 0; i < split.length; i++) {
if (split[i].equals("w")) {
n += 1;
} else if (split[i].equals("s")) {
n -= 1;
} else if (split[i].equals("d")) {
n += 10;
} else if (split[i].equals("a")) {
n -= 10;
}
}
return n;
}
}
문제 - 수 조작하기 2

풀이
class Solution {
public String solution(int[] numLog) {
StringBuilder sb = new StringBuilder();
for (int i = 1; i < numLog.length; i++) {
switch (numLog[i] - numLog[i - 1]) {
case 1 -> sb.append("w");
case 10 -> sb.append("d");
case -1 -> sb.append("s");
case -10 -> sb.append("a");
}
}
return sb.toString();
}
}
문제 - 수열과 구간 쿼리 3

풀이
class Solution {
public int[] solution(int[] arr, int[][] queries) {
int n = 0;
for (int i = 0; i < queries.length; i++) {
n = arr[queries[i][0]];
arr[queries[i][0]] = arr[queries[i][1]];
arr[queries[i][1]] = n;
}
return arr;
}
}
문제 - 수열과 구간 쿼리 2

풀이
import java.util.*;
class Solution {
public int[] solution(int[] arr, int[][] queries) {
int[] answer = new int[queries.length];
Arrays.fill(answer, Integer.MAX_VALUE);
for (int j = 0; j < queries.length; j++) {
for (int i = queries[j][0]; i <= queries[j][1]; i++) {
if (arr[i] > queries[j][2]) {
answer[j] = Math.min(answer[j], arr[i]);
}
}
if (answer[j] == Integer.MAX_VALUE) answer[j] = -1;
}
return answer;
}
}