[프로그래머스, Java] 직사각형 별찍기

2025. 7. 10. 16:49·CodingTest/Programmers

사진을 클릭하면 해당 문제로 이동

 

💡풀이

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));
        }
    }
}

💡풀이 2

- StringTokenizer, BufferedReader, BufferedWriter 사용해서 풀어보기 (속도 향상)

import java.io.*;
import java.util.StringTokenizer;

class Solution {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        StringTokenizer st = new StringTokenizer(br.readLine());

        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());


        for(int i = 0; i < b; i++) {
            bw.write("*".repeat(a));
            bw.newLine();
        }

        bw.close(); // close에는 flush가 포함되어 있습니다.
        br.close();
    }
}

📖새로 배운 부분

프로그래머스에는 값을 입력받고 진행하는 문제가 많이 없기 때문에

이번 기회에 scanner 보다 빠른 속도를 보이는 BufferedReader 등을 사용해 보았다.

 

현재 문제에서는 입력값이 a, b 두 개뿐이기 때문에 유의미한 차이를 보이지 않지만

큰 입력값에 대해서는 유의미한 차이를 보이기 때문에 학습해 두었다가 필요한 경우 사용해 보도록 하자!

 

학습한 내용을 블로그 글로 정리해두었습니다 😊

 

1. BufferedReader, BufferedWriter

 

[Java, 입출력] BufferedReader, BufferedWriter 란?

0️⃣사용 시 주의사항(1) 클래스를 import해주어야 한다.import java.io.IOException;(2) main 클래스 옆에 throws IOException를 작성한다.public static void main(String[] args) throws IOException {}1️⃣BufferedReader의 특징사

devoks.tistory.com

2. StringTokenizer

 

[Java] StringTokenizer 란?

1️⃣StringTokenizer이란문자열을 구분자를 이용하여 분리할 때 사용한다.공백 혹은 컴마를 기준으로 문자열을 분리하고 싶을 때, 아니면 특정 문자열을 나누고 싶을 때 StringTokenizer을 사용한다.주

devoks.tistory.com


 

GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.

프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.

github.com

'CodingTest > Programmers' 카테고리의 다른 글

[Java] 유클리드 호제법이란?  (0) 2025.07.10
[프로그래머스, Java] 같은 숫자는 싫어  (0) 2025.07.10
[프로그래머스, Java] 행렬의 덧셈  (0) 2025.07.10
[프로그래머스, Java] 문자열 다루기 기본  (0) 2025.07.09
[프로그래머스, Java] 부족한 금액 계산하기  (0) 2025.07.09
'CodingTest/Programmers' 카테고리의 다른 글
  • [Java] 유클리드 호제법이란?
  • [프로그래머스, Java] 같은 숫자는 싫어
  • [프로그래머스, Java] 행렬의 덧셈
  • [프로그래머스, Java] 문자열 다루기 기본
devoks
devoks
꾸준히 작성해보자!
  • devoks
    ok's 개발 블로그
    devoks
  • 전체
    오늘
    어제
    • 분류 전체보기 (112) N
      • Backend (15)
        • SpringBoot (0)
        • Java (15)
      • Cs (18) N
      • Infra (0)
        • AWS (0)
        • Docker (0)
      • CodingTest (79)
        • Programmers (79)
  • 링크

    • My GitHub
  • 인기 글

  • 태그

    programmers
    CS
    StringTokenizer
    BufferedReader
    BufferedWriter
    effectivejava
    switch
    json
    java
    codingtest
  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
devoks
[프로그래머스, Java] 직사각형 별찍기
상단으로

티스토리툴바