컴퓨터/프로그래머스

[Java] 프로그래머스 코딩테스트 연습 / 문자열 반복해서 출력하기

peridott 2026. 1. 15. 17:21

문제


정답

import java.util.Scanner;

public class Solution {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        String str = sc.next();
        int n = sc.nextInt();
        
        for(int i = 0; i < n; i++) {
        	System.out.print(str);
        }
    }
}

개념설명

1. import java.util.Scanner;

import java.util.Scanner;

✔️ 의미

  • Scanner 클래스를 사용하겠다고 선언
  • 키보드 입력을 처리하기 위해 필요

✔️ 이유

  • Scanner는 java.util 패키지에 포함
  • java.lang이 아니므로 import 필수

 

2. 클래스 선언

public class Solution {

✔️ 의미

  • Solution 이라는 클래스 정의
  • 자바 프로그램은 반드시 클래스 내부에서 실행

 

3. main 메서드 (프로그램 시작점)

public static void main(String[] args) {

✔️ 의미

  • 프로그램 실행 시 가장 먼저 호출되는 메서드
요소 의미
public JVM 접근 허용
static 객체 생성 없이 실행
void 반환값 없음
main 고정된 이름
String[] args 실행 인자

 

4. Scanner 객체 생성

Scanner sc = new Scanner(System.in);

✔️ 의미

  • 키보드 입력 받을 준비
부분 설명
Scanner 입력 클래스
sc 객체 변수
new 객체 생성
System.in 표준 입력(키보드)

 

5. 문자열 입력 받기

String str = sc.next();

✔️ 의미

  • 키보드로 입력한 값을 문자열(String)로 받아
  • 변수 str에 저장

✔️ next() 특징

  • 공백 전까지 입력 받음
  • 스페이스, 엔터에서 입력 종료

✔️ 예시

Hello World

→ "Hello"만 저장됨

 

6. 정수 입력 받기

int n = sc.nextInt();

✔️ 의미

  • 키보드로 입력한 값을 정수(int)로 받아
  • 변수 n에 저장
  • 이 값이 반복 횟수가 됨

 

7. for 반복문

for(int i = 0; i < n; i++) {
	System.out.print(str);
}

✔️ 의미

  • {} 안의 코드를 n번 반복 실행

✔️ for문 구조 분석

for(초기식; 조건식; 증감식)

1. 초기식

int i = 0;
  • 반복문 시작 시 딱 한 번 실행
  • 반복 횟수를 세는 변수 i 선언

2. 조건식

i < n;
  • 조건이 true인 동안 반복
  • false가 되면 반복 종료

3. 증감식

i++;
  • 한 번 반복할 때마다 i를 1 증가

 

8. 출력문 (반복 실행 부분)

System.out.print(str);

✔️ 의미

  • 문자열 str을 출력
  • 줄바꿈 없음

✔️ 반복 결과

  • 이 줄이 n번 실행됨
  • 문자열이 연속해서 붙어서 출력

🔚 전체 실행 흐름 요약

  1. 프로그램 시작
  2. Scanner 생성
  3. 문자열 입력
  4. 정수 입력
  5. for문 시작
  6. 문자열 출력 n번 반복
  7. 프로그램 종료

💡 핵심 포인트 정리

문법 의미
next() 문자열 입력 (공백 전까지)
nextInt() 정수 입력
for 반복문
i++ 1 증가
print() 출력 (줄바꿈 안됨)

💡 꿀팁

✔️ 줄바꿈 포함 출력

System.out.println(str);

✔️ 공백 포함 문자열 입력

String str = sc.nextLine();

✔️ while문으로 바꾸면

int i = 0;
while(i < n) {
	System.out.print(str);
    i++;
}