n의 배수 구하기
public int[] solution(int n, int[] numList) {
ArrayList<Integer> nums = new ArrayList<>();
for (int num : numList) {
if (num%n == 0) {
nums.add(num);
}
}
int[] answer = new int[nums.size()];
for (int i = 0; i < nums.size(); i++) {
answer[i] = nums.get(i);
}
return answer;
}
2차원 배열로 만들기
public int[][] solution(int[] num_list, int n) {
int size = num_list.length;
int[][] answer = new int[size/n][n];
for (int i = 0; i < size; i++) {
answer[i/n][i%n] = num_list[i];
}
return answer;
}
시간복잡도를 n으로 낮추기 위해 노력해봤다.
캐릭터의 좌표
public int[] solution(String[] keyInput, int[] board) {
int x = 0;
int y = 0;
int width = board[0]/2;
int height = board[1]/2;
for (int i = 0; i < keyInput.length; i++) {
switch (keyInput[i]) {
case "up" :
if (y == height) break;
y++;
break;
case "down" :
if (y == -height) break;
y--;
break;
case "right" :
if (x == width) break;
x++;
break;
case "left" :
if (x == -width) break;
x--;
break;
}
}
int[] answer = {x,y};
return answer;
}
코드가 상당히 길긴 하지만 시간복잡도도 낮고 최선이라고 생각한다.