학습일기 37

이건구·2023년 10월 17일
0

프로그래머스 자바 문제풀이

배열 회전시키기

class Solution {
    public int[] solution(int[] numbers, String direction) {
        int k = 0;
        if (direction.equals("right")) {
            for (int i = numbers.length-1; i > 0; i--) {
                k = numbers[i];
                numbers[i] = numbers[i-1];
                numbers[i-1] = k;
            }
        } else {
            for (int i = 0; i < numbers.length-1; i++) {
                k = numbers[i];
                numbers[i] = numbers[i+1];
                numbers[i+1] = k;
            }
        }
        return numbers;
    }
}

배열의 요소를 문자열 direction 이 right 혹은 left에 따라 한쪽으로 배열을 옮기는것이다.

배열의 요소를 옮기려면 우선 옮기려는 자리에있던 원소를 담을 정수 k를 선언해주고 조건문에서 equals() 함수를 사용하여 right일경우 오른쪽으로 옮기고 그게 아닐경우엔 왼쪽으로 옮기게하면된다.

특별한 이차원 배열 1

class Solution {
    public int[][] solution(int n) {
        int[][] answer = new int[n][n];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (i == j) {
                    answer[i][j] = 1;
                }
            }
        }
        return answer;
    }
}

정수n이 주어지고 길이가 n으로된 이차원배열을 만들고 이차원배열두개의 인덱스가 같을때 1을 넣어주고 나머지는 0을 넣어준다.

일단 배열의 길이를 설정하여 new로 선언해주면 디폴트값으로 0이 다 들어가게된다.

그리고 이중반복문을 통해 i와 j가 같을때 해당 인덱스에 1을 넣어주면된다.

0개의 댓글