SHUSTORY

[ 백준 ] 2439번 : 별 찍기 - 2 _ JAVA 본문

코딩테스트/JAVA

[ 백준 ] 2439번 : 별 찍기 - 2 _ JAVA

어서오시우 2023. 11. 29. 04:12
728x90
문제

 

내 풀이
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 = 0; i < N; i++) {
for (int j = 0; j < N-(i+1); j++) {
System.out.print(" ");
}
for (int j = 0; j < (i + 1); j++) {
System.out.print("*");
}
System.out.println();
}
sc.close();
}
}
  • 반복문의 꽃, 별찍기! ㅋㅋ
    해당 문제에서 repeat 메서드를 사용해서 푼 사람을 발견해서 우와! 유레카! 함
    repeat 메서드 라는걸 첨 봤거등요. 처음 알게 된 메서드는 모조리 기록하고 머릿속에 넣어버리겠어!!

 

repeat( ) 메서드
  • String.repeat 메서드는 JAVA 11에서 도입되었기 때문에 JAVA11 이하의 버전에서는 사용할 수 없다.
  • 문자열을 파라미터의 주어진 횟수만큼 반복한다.
    • 파라미터를 0으로 지정하면 빈 문자열을 반환한다.
    • 파라미터를 음수로 지정하면 illegalArgumentExceotionthrow 에러를 반환한다.
    • 파라미터를 1로 지정하면 문자열을 그대로 반환한다.

 

수정한 코드
repeat( ) 메서드 사용
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 = 1; i < (N+1); i++) {
System.out.println(" ".repeat(N-i)+"*".repeat(i));
}
sc.close();
}
}
  • 훨씬 간결해진 코드를 볼 수 있다. 굿!