오늘은 자바를 처음 시작하고 제일 많이 시도해보고 처음에 제일 어려워했던 별찍기를 해볼건데요 이게 처음에 아무래도 for문이 어떻게 돌아가는지 확실하게 이해하지 못한다면 어려울수있어서 이런건 컴퓨터로도 코딩해보고 손으로도 직접 써가면서 코딩해보는것을 추천드립니다. ㅎㅎ
먼저 문제를 보면
혹시 잘 안보이시는 분들은
https://www.acmicpc.net/problem/2438
여기를 참고해주세요~
문제풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
for(int i = 0; i < a; i ++ ) {
for(int j = 0; j < i + 1; j ++ ) {
System.out.print("*");
}
System.out.println("");
}
}
}
백준 문제풀이에서는 제일먼저 class 이름이 "Main"인지 확인합니다!!!
(저도 처음에 이거 아무렇게나 썼다가 많이 틀렸습니다.... ㅜㅜ)
그리고 이제 for문을 2개 중첩해서 사용을 하는데 이 때 i의 값에 따라서 j의 값이 어떻게 변하는지를 잘 아셔야합니다.
i = 0, j = 0 | i = 0, j = 1 | i = 0, j = 2 | i = 0, j = 3 | i = 0, j = 4 |
i = 1, j = 0 | i = 1, j = 1 | i = 1, j = 2 | i = 1, j = 3 | i = 1, j = 4 |
i = 2, j = 0 | i = 2, j = 1 | i = 2, j = 2 | i = 2, j = 3 | i = 2, j = 4 |
i = 3, j = 0 | i = 3, j = 1 | i = 3, j = 2 | i = 3, j = 3 | i = 3, j = 4 |
i = 4, j = 0 | i = 4, j = 1 | i = 4, j = 2 | i = 4, j = 3 | i = 4, j = 4 |
결과를 보시면 별이 출력되는 부분은 위의 표에서 색칠된 부분이라고 할 수 있습니다.
이제 좀 감이 잡히시나요?
이제 반복문에 맞춰서 별을 순서대로 print로 출력하여 나열하고
반복문이 끝나는 구간에서 println으로 줄 간격을 맞춰주면
이렇게 5를 입력했을 때 예제 출력같이 잘 나오는것을 확인할 수 있습니다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[Baekjoon] 백준 1157 단어공부 - java (0) | 2021.07.12 |
---|---|
[Baekjoon] 백준 1110 더하기 사이클 - java (0) | 2021.07.11 |
[Baekjoon] 백준 10871 X보다 작은 수 - java (0) | 2021.07.10 |
[Baekjoon] 백준 2884 알람시계 - java (2) | 2021.07.02 |
[Baekjoon] 백준 2439 별찍기 2 - java (0) | 2021.06.29 |