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;
}
}