1. 문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
2. 코드
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
for(int i=1;i<2*n+1;i++){
for(int j=i;j<i+n;j++){
if(j%2==0) System.out.print(" ");
else System.out.print("*");
}
System.out.println();
}
}
}
3. 풀이
총 출력행은 2*n 이므로 가장 바깥쪽의 반복문은 i=1부터 i<2*n+1 이다.
출력예시를 보면, 별과 공백이 번갈아 가며 출력이 된다.
홀수행(i=1,3,5..)에는 별부터 출력 되고 짝수행(i=2,4,6...)에는 공백부터 출력되는데, 한 행의 공백과 별의 총 출력개수는 n개 이다.
따라서 안쪽 for 문은 j=i 부터 j<i+n 의 범위를 돌게 되는데 이 뜻은 i번째 행에 별과 공백을 출력하는 반복문이다.
짝수행일 때는 공백이 출력되므로 j%2==0 을 사용한다.
4. 링크
https://www.acmicpc.net/problem/10996
'Computer Science > 자료구조와 알고리즘' 카테고리의 다른 글
[JAVA] 백준 2562번 : 최댓값 (0) | 2020.08.05 |
---|---|
[JAVA] 10818번 : 최소, 최대 (0) | 2020.07.30 |
[JAVA] 백준 2446번 : 별찍기 -9 (0) | 2020.07.25 |
[JAVA] 2523 : 별찍기 -13 (0) | 2020.07.23 |
[JAVA] 백준 10817번 : 세 수 (0) | 2020.07.23 |