백준 2439 - java ) 별찍기-2
2021. 8. 24. 16:23ㆍ코딩/Python
내 사고과정
맨날 왼쪽정렬만 보다가 오른쪽 정렬을 보니 어떻게 해야 하지..? 일단 생각해보기로 했다.
*
**
***
****
***** 의 경우는
별 1 > 2 > 3 > 4 > 5
공백 4 > 3 > 2 > 1 > 0
줄바꿈 1 > 1 > 1 > 1 > 1
*
**
***
****
***** 의 경우는
별 1>2>3>4>5
공백 4>3>2>1>0
줄바꿈 1 > 1 > 1 > 1 > 1 (둘이 비슷하군)
별찍기1 코드에서는 *을 먼저 for문으로 출력했다면, 이번 별찍기2에서는 공백을 먼저 출력해야 할 것 같다고 생각했다.
내 실행코드
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
for(int i=1;i<=n;i++) {
for(int j=1;j<=i;j++) {
System.out.print("");
}
System.out.println("*");
}
System.out.println("\n");
}
}
내 실행결과
5
*
*
*
*
*
다른 분들과의 코드를 비교해보니 접근 방법은 맞았으나 조금 틀린 부분이 있었다.
실행 코드
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=1; i<=n; i++){ // 1~N행까지 출력
for(int j=1; j<=n-i; j++){ // 공백 출력
System.out.print(" ");
}
for(int k=0; k<i; k++){ // for문 변수 k를 이용하여 * 출력
System.out.printf("*");
}
System.out.println();
}
}
}
실행 결과
5
*
**
***
****
*****
IF) * 을 출력하는 for문이 삼중 for문으로 들어간다면 어떤 결과가 생길까?
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=1; i<=n; i++){
for(int j=0; j<n-i; j++){
System.out.print(" ");
for(int k=0; k<i; k++){
System.out.printf("*");
}
System.out.println();
}
}
}
}
실행 결과
5
*
*
*
*
**
**
**
***
***
****
'코딩 > Python' 카테고리의 다른 글
백준 10952 - java ) A+B-5 (0) | 2021.08.24 |
---|---|
백준 10871 - java ) X보다 작은 수 (0) | 2021.08.24 |
백준 2438 - java ) 별 찍기-1 (0) | 2021.08.24 |
백준 11022 - java ) A+B-8 (0) | 2021.08.24 |
백준 11021 - java ) A+B-7 (0) | 2021.08.24 |