📌Back-End/프로그래머스
Java 프로그래머스 코딩테스트 입문 Day 10 조건문, 배열, 수학, 시뮬레이션
구 일
2024. 7. 2. 10:05
728x90
반응형
점의 위치 구하기
/**
* 코딩테스트 입문 Day 10 조건문, 배열, 수학, 시뮬레이션
* 점의 위치 구하기
*/
public class Main1 {
public static void main(String[] args) {
System.out.println(solution(new int[]{2, 4}));
System.out.println(solution(new int[]{-7, 9}));
}
public static int solution(int[] dot) {
int answer = 0;
if (dot[0] > 0 && dot[1] > 0) {
answer = 1;
} else if (dot[0] < 0 && dot[1] > 0) {
answer = 2;
} else if (dot[0] < 0 && dot[1] < 0) {
answer = 3;
} else {
answer = 4;
}
return answer;
}
}
2차원으로 만들기
/**
* 코딩테스트 입문 Day 10 조건문, 배열, 수학, 시뮬레이션
* 2차원으로 만들기
*/
public class Main2 {
public static void main(String[] args) {
int[][] result = solution(new int[]{1, 2, 3, 4, 5, 6, 7, 8}, 2);
for (int[] arr : result) {
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}
System.out.println();
result = solution(new int[]{100, 95, 2, 4, 5, 6, 18, 33, 948}, 3);
for (int[] arr : result) {
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}
System.out.println();
}
public static int[][] solution(int[] num_list, int n) {
int m = num_list.length / n;
int[][] answer = new int[m][n];
int idx = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
answer[i][j] = num_list[idx++];
}
}
return answer;
}
}
공 던지기
/**
* 코딩테스트 입문 Day 10 조건문, 배열, 수학, 시뮬레이션
* 공 던지기
*/
public class Main3 {
public static void main(String[] args) {
System.out.println(solution(new int[]{1, 2, 3, 4}, 2));
System.out.println(solution(new int[]{1, 2, 3, 4, 5, 6}, 5));
System.out.println(solution(new int[]{1, 2, 3}, 3));
}
public static int solution(int[] numbers, int k) {
return numbers[2 * (k - 1) % numbers.length];
}
}
배열 회전시키기
/**
* 코딩테스트 입문 Day 10 조건문, 배열, 수학, 시뮬레이션
* 배열 회전시키기
*/
public class Main4 {
public static void main(String[] args) {
int[] result = solution(new int[]{1, 2, 3}, "right");
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
result = solution(new int[]{4, 455, 6, 4, -1, 45, 6}, "left");
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
}
public static int[] solution(int[] numbers, String direction) {
int[] answer = new int[numbers.length];
if (direction.equals("right")) {
for (int i = 1; i < numbers.length; i++) {
answer[i] = numbers[i - 1];
}
answer[0] = numbers[numbers.length - 1];
} else {
for (int i = 1; i < numbers.length; i++) {
answer[i - 1] = numbers[i];
}
answer[numbers.length - 1] = numbers[0];
}
return answer;
}
}
728x90
반응형