2440번 별 찍기 - 3
간단하게 이중 for문을 돌려서 만들 수 있는 문제이다.
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=N; i>0; i--){
for(int j=0; j<i; j++){
System.out.print("*");
}
System.out.println();
}
}
}
N에 5를 입력받게 되면 첫 번째 for문에 i는 5의 값이 들어가게 되고
두 번째 for문인 j는 0부터 4까지 총 5번의 별을 찍게 된다.
첫 번째 반복문에서 i--이기 때문에 반복문이 1회 끝날 때마다 i=4,3,2,1이 되면서 별을 j의 반복 횟수만큼 찍게 되는 것이다.
2441번 별 찍기 - 4
이 문제도 마찬가지로 이중 for문을 돌리면 된다.
단지 추가된 것은 N번째 줄까지 차례대로 별을 출력하면서 별이 없어진 개수만큼 공백이 추가된다는 점.
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=N; i>0; i--){
for(int k=N-i; k>0; k--){
System.out.print(" ");
}
for(int j=0; j<i; j++){
System.out.print("*");
}
System.out.println();
}
}
}
간단하게 두번째 반복문이 2개인데 하나는 k의 반복문, 다른 하나는 j의 반복문이라고 칭하겠다.
N에 5를 입력 받았을 때 k의 반복문에서 K의 값은 5-5인 0이 된다. 그런데 조건에서 k>0이라고 하였으니 반복문을 탈출하고 j의 반복문으로 넘어가서 별 개수를 5개만큼 찍게 된다.
첫 번째 반복문을 다시 돌게 되면 N=4가 되고 k의 반복문에서 k는 1이 된다. 그러면 공백을 한번 찍게 되고 j의 반복문에서는 i가 4이기 때문에 별을 4번찍게 된다.
그러면 문제의 출력 값 처럼 별이 찍히게 된다.
.
.
.
여담) 필자는 대학생 1학년 때 저 문제를 교수님께 받아서 못 풀었다는... (한심 그 자체...)
이런 식으로 짜서 교수님께 가져다 드렸더니... 교수님이 웃으시면서...
printf("*****\n");
printf("****\n");
printf("***\n");
printf("**\n");
printf("*\n");
"자네는 참... (침묵)"
하하... C언어 과목 C를 받았다는 ... 포인터와 구조체 보면서 핳핳 RUN... 했던 기억이 있다...
'알고리즘 > 백준' 카테고리의 다른 글
[java] 백준 1292번 쉽게 푸는 문제 (4) | 2021.07.28 |
---|---|
[java] 백준 10773번 제로 (6) | 2021.07.27 |
[java] 백준 2420번 사파리월드 (4) | 2021.07.25 |
[java] 백준 2581번 소수 (0) | 2021.07.25 |
[java] 백준 11653번 소인수분해 (9) | 2021.07.24 |
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊