본문 바로가기

카테고리 없음

231124 TIL

 

1. 0과 1이 교차하는 배열 출력하기 / 조건: 반드시 이중for문 사용

public class Main {
    public static void main(String[] args){
        int[][] arr = new int[5][5];

        for(int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[i].length; j++) {
                arr[i][j] = (i + j) % 2;
            }
        }

        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j <arr[i].length; j++) {
                System.out.print(arr[i][j]); // println 대신 print 사용하여 가로로 출력
            }
            System.out.println(); // 줄바꿈
        }

        

    }
}

 

결과값:

0 1 0 1 0

1 0 1 0 1

0 1 0 1 0

1 0 1 0 1

0 1 0 1 0

 

2. 가운데 글자 가져오기

class Solution {
    public String solution(String s) {
        int length = s.length;
        int middle = length / 2;
        
        if (length % 2 == 1) {
            return s.substring(middle, middle + 1);
        } eles {
            return s.substirng(middle - 1, middle + 1);
        }
    }
}

 

substring 메서드를 사용하여 해결

 

3. 최대공약수와 최소공배수

class Solution {
    public int findGCD(int n, int m) {
        while (m != 0) {   // 유클리드 호제법 이용하여 최대공약수 구하기
            int temp = m;
            m = n % m;
            n = temp;
        }
        return n;
    }
    
    public int findLCM(int n, int m) {
        return n * m / findGCD(n, m);    // 두 수를 곱한 후 최대공약수로 나누어 최소공배수 구하기
    }
    
    public int[] solution(int n, int m) {
        int[] answer = {findGCD(n, m), findLCM(n, m)};
        return answer;
    }
}