문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
예제 입력 | 예제 출력 |
5 | * ** *** **** ***** |
⭕ 풀이
import java.io.*;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
sb.append("*");
}
sb.append("\n");
}
System.out.print(sb);
}
}
✅ 바깥for문 안의 실행문은 j를 사용한 내부for문과 sb에 개행문자를 추가하는 실행문이 있고
내부for문의 실행문은 sb에 j가 i의 수와 작거나 같은동안 * 을 담는 실행문이있다.
즉 i를 사용한 바깥 for문은 마지막에 개행문자를 추가해주므로 총 몇줄을 출력할지 알 수 있고
j를 사용한 내부 for문을 바깥의 변수 i와 비교해서 *을 몇번 append 할것인지 알 수 있다.
즉 한줄마다 i가 증가하므로 j의 조건식을 j<=i로 하면 j도 한줄씩 내려갈때마다 * 을 하나씩 더 append하는것이다.
이렇게 for문안에 for문을 사용하는것을 중첩for문이라고하고
이경우 바깥의 변수와 안의변수를 적절히 사용하면 여러 별찍기모양을 구현할 수 있다.
이전에 예시와함께 작성했던 반복문(for)를 참고하면 좋을것같다.
2022.07.05 - [Java] - JAVA - 반복문 ( for )
-출처
'Algorithm > Baekjoon(Java)' 카테고리의 다른 글
[백준/JAVA] 10871 : X보다 작은 수 (0) | 2022.07.11 |
---|---|
[백준/JAVA] 2439 : 별 찍기 - 2 ( 중첩for문 ) (0) | 2022.07.10 |
[백준/JAVA] 11022 : A+B - 8 (0) | 2022.07.10 |
[백준/JAVA] 11021 : A+B - 7 (0) | 2022.07.10 |
[백준/JAVA] 2742 : 기찍 N (0) | 2022.07.10 |