Notice
Recent Posts
Recent Comments
Link
변수의 기록
(코테) 별 찍기 반복문 본문
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
예제 입력 1
5
예제 출력 1
*
**
***
****
*****
내가 제시한 답
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 = 1; i <= A; i++) {
for (int j = 1; j <= A; j++) {
if (j > A - i) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println(); // 줄바꿈
}
}
}
회고, for문을 2중으로 사용하지 않고 좀 더간결한 방법이 없을까? 고민하던중 .
repeat 를 확인
String.repeat(int count)
- Java 11 이상에서 사용 가능
- 문자열을 지정한 횟수만큼 반복해서 만들어줌
수정한 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int n = new Scanner(System.in).nextInt();
for (int i = 1; i <= n; i++) {
System.out.println(" ".repeat(n - i) + "*".repeat(i));
}
}
}
로 2중 for문 없애고 간결한 코드 완성.