반응형
먼저 규칙을 찾아보자. 2일때는 4줄 3일땐 6줄 4일땐 8줄 이므로 n일때 2n줄이 나오게 된다.
그리고 줄 뿐 아니라 칸수도 하나씩 증가하게 된다. 2일땐 2칸, 3일때 3칸... 이런식으로 말이다.
이 때 각 줄에서는 간단한 규칙을 찾아볼 수 있는데 홀수 줄에서 홀수 칸은 *, 짝수 칸은 빈칸. 짝수 줄에서는 반대로 이루어져 있다. 이것을 코드로 나타내
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (j % 2 == 0) {
System.out.print(" ");
} else
System.out.print("*");
}
System.out.println("");
for (int j = 1; j <= n; j++) {
if (j % 2 == 1) {
System.out.print(" ");
} else
System.out.print("*");
}
System.out.println("");
}
}
}
n을 입력받았을 때 2n만큼의 줄이 생성되므로 for문 안에 for문을 2개 만들었다.
여기서 첫번째 for문은 홀수 줄에 대한 것. 홀수 줄은 홀수칸만 *이 찍히므로 j%2 ==1 일 때만 *을 출력하도록 한다.
두번째 for문에서는 짝수 줄을 다루므로 짝수 칸만 *이 찍히도록 j%2==0 일 때만 *을 출력하도록 한다.
반응형
'Java > 백준알고리즘' 카테고리의 다른 글
백준알고리즘 #2577 숫자의 개수 java (0) | 2020.03.30 |
---|---|
백준알고리즘 #14681 사분면 고르기 java (0) | 2020.03.30 |
백준알고리즘 #2446 별 찍기 - 9 java (0) | 2020.03.30 |
백준알고리즘 #2523 별 찍기 - 13 java (0) | 2020.03.30 |
백준알고리즘 #5543 상근날드 java (0) | 2020.03.30 |