https://programmers.co.kr/learn/courses/30/lessons/12969
코딩테스트 연습 - 직사각형 별찍기
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수
programmers.co.kr
나의 풀이
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 각각의 차이
String, StringBuilder, StringBuffer 각각의 차이에 대해 설명해주세요.
String, StringBuilder, StringBuffer은 자바에서의 문자열 처리에 가장 많이 사용되는 세 클래스입니다. 불변성 String 클래스 특징 - 문자열 처리 및 관리하는 클래스 - immutable(불변성)의 특징이 있어 문자.
seongeun-it.tistory.com
'📓 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 |
댓글