알고리즘 : 프로그래머스 : JAVA : 직사각형 별찍기
2022. 1. 15. 16:42ㆍ알고리즘/프로그래머스
반응형
<문제>
<코드>
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=0; i<b; i++){ // @1
for(int j=0; j<a; j++){ // @2
System.out.print("*");
}
System.out.println(); //@3
}
}
}
입력은 5, 3이라고 가정한다.
@1 - 행의 전체 수는 3이다. 그러므로 전체 반복되는 횟수는 3번(b) 이다.
@2 - 찍어야되는 별의 수 만큼 반복한다. 찍어야 되는 별의 수는 a 이므로 a 만큼 반복한다.
@3 - 각 행을 모두 찍었을 때는 다음 행을 출력해야 하므로 한 칸 띄워준다.
(System.out.println() 메소드를 사용하면 모니터에 전달된 데이터를 출력한 후에 줄 바꿈까지 해준다.
println() 메소드와는 달리 print() 메소드는 전달된 데이터를 출력한 후에 줄 바꿈을 하지 않는다)
<설명>
1. 입력받기 위한 스캐너 클래스 선언을 위해 import를 통해 외부 클래스를 호출한 뒤 Scanner 객체 생성을 한다.
import java.util.Scanner;
2. 2중 for문을 사용
3. *을 입력받은 만큼 a번 찍고 a번 다 찍으면 다음 행으로 넘어감(이 과정을 b행까지 진행)
<다른 방법>
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();
StringBuilder sb = new StringBuilder();
for(int i=0; i<a; i++){
sb.append("*");
}
for(int i=0; i<b; i++){
System.out.println(sb.toString());
}
}
}
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
알고리즘 : 프로그래머스 : JAVA : 가운데 글자 가져오기 (0) | 2022.01.15 |
---|---|
알고리즘 : 프로그래머스 : JAVA : 짝수와 홀수 (0) | 2022.01.15 |
알고리즘 : 프로그래머스 : JAVA : 부족한 금액 계산하기 (0) | 2022.01.15 |
알고리즘 : 프로그래머스 : JAVA : 음양 더하기 (0) | 2022.01.15 |
알고리즘 : 프로그래머스 : JAVA : 없는 숫자 더하기 (0) | 2022.01.15 |