스파르타코딩클럽/프로그래머스_Java_알고리즘 기초
[프로그래머스/Java] 직사각형 별 찍기
예령 : )
2022. 3. 11. 15:26
문제설명
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
제한 조건
- n과 m은 각각 1000 이하인 자연수입니다.
예시
입력
5 3
출력
*****
*****
*****
풀이 코드
방법 1
import java.util.Scanner;
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++) {
for (int j = 0; j < a; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
b의 길이만큼 반복문을 돌리고, a의 길이 만큼 *을 찍어준다.
System.out.println( ); 이 없는 상태로 run을 하면 * 15개가 가로로 쭉 붙게 되는데
그건 5개씩 3줄이 줄줄이 이어져 나오는 상태이므로 println( );을 이용해서 줄을 나눠주면 원하는 모양이 나온다.
방법 2
import java.util.Scanner;
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++) {
System.out.println("*".repeat(a));
}
}
}
방법 1과 비슷하다. b 길이 만큼의 반복문을 돌리고, println("*")을 실행하면 *이 한 개씩 3줄로 나온다.
우리가 원하는 모양은 한 줄에 별이 다섯개 씩 나오는 모양이므로 .repeat( ) 함수를 이용해 a의 수만큼 반복되게 한다.