https://programmers.co.kr/learn/courses/30/lessons/12969
나의 풀이
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
for(int i=1; i<=b;i++){
for(int j=1; j<=a;j++){
System.out.print("*");
}
System.out.println();
}
}
}
다른 코드는 없을까?
다른 분들은 어떻게 풀었는지 궁금해서 찾아봤는데, 마침 어제 배운 StringBuilder에 대한 코드가 있어서 가져와봤다.
import java.util.Scanner;
import java.util.stream.IntStream;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
StringBuilder sb = new StringBuilder();
IntStream.range(0,a).forEach(s -> sb.append("*"));
IntStream.range(0,b).forEach(s -> System.out.println(sb.toString()));
}
}
StringBuilder는 같은 인스턴스 안의 문자열에 필드 값을 추가하거나 변경이 가능하다고 한다.
String 클래스의 메소드 뿐만 아니라 문자열 추가 혹은 변경을 위한 추가 메소드를 가지고 있는데,
그 중 하나가 append()이다. append()는 문자열을 뒤로 추가해 나가는 메소드이다!
그 전의 코드보다 속도와 메모리 측면에서 성능이 더 좋아졌다.
String, StringBuilder, StringBuffer 각각의 차이
728x90
'📓 Study > Coding Test' 카테고리의 다른 글
[Programmers/JAVA] 평균 구하기 (0) | 2021.09.24 |
---|---|
[Programmers/JAVA] 핸드폰 번호 가리기 (0) | 2021.09.23 |
[Programmers/JAVA] 짝수와 홀수 (0) | 2021.09.21 |
[BOJ] 10817 | 세 수 (0) | 2021.09.19 |
[BOJ] 2438번 별찍기 (0) | 2021.09.12 |
댓글