728x90
직사각형 별찍기
문제설명
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
제한조건
- n과 m은 각각 1000 이하인 자연수입니다.
예시
입력
5 3
출력
*****
*****
*****
기본코드
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();
System.out.println(a + b);
}
}
문제풀이
우선 주어진 코드를 보았을 때 Scanner라고 하는 Java의 기능을 사용하게 되어있다.
Scanner 기능은 코드를 실행한 후 입력하는 값을 바탕으로 결과를 출력해내는 기능이다.
위 문제에서는 int a에서 한 번, int b에서 한 번, 총 두 번의 값을 입력하도록 되어있다.
예시로서 5와 3을 입력하였을 때, 별(*)이 5번 반복 출력되는 것이 3줄로 출력되어야 한다.
고로 2중 for을 떠올렸다.
가로로 별(*)이 5번 출력된 값을 줄이 바뀌며 3줄로 출력되도록
이를 위하여 print와 println을 구분 학습하였다.
print는 단순 값을 출력하는 함수이며 println는 출력 후 한 줄이 띄어지는 개념이다.
//예시로 아래와 같이 값을 출력하면 ***이 나오지만
System.out.print("*")
System.out.print("*")
System.out.print("*")
//println을 쓰면 *가 한 줄 씩 띄며
//*
//*
//* 처럼 출력된다.
System.out.println("*")
System.out.println("*")
System.out.println("*")
최종적으로 아래의 코드로 PASS하였다.
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 j = 0; j < b; j++) {
for (int i = 0; i < a; i++) {
System.out.print('*');
}
System.out.println();
}
}
}
728x90
'🤖Algorithm' 카테고리의 다른 글
[프로그래머스] 평균 구하기 Java (0) | 2022.07.16 |
---|---|
[프로그래머스] 음양 더하기 Java (0) | 2022.07.16 |
[프로그래머스] 문자열을 정수로 바꾸기 Java (0) | 2022.07.16 |
[프로그래머스] 두 정수 사이의 합 Java (0) | 2022.07.15 |
[프로그래머스] 가운데 글자 가져오기 Java (0) | 2022.07.15 |