📌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차원으로 만들기

프로그래머스 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
반응형