알고리즘 문제 풀이/프로그래머스

[프로그래머스] (JAVA) Lv0 문자열 반복해서 출력하기 문법 정리

노루스름한맛 2023. 5. 29. 12:47

문자열 반복해서 출력하기


코드

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();
        
        System.out.println(str.repeat(n));
    }
}

문법 정리

  • Scanner
    • 키보드를 입력받을 때 사용하는 클래스
import java.util.*;

Scanner sc = new Scanner(System.in);
String str = sc.next()

출처: https://coding-factory.tistory.com/863

 

 

♤ next() 와 nextLine() 의 차이 :

    next()는 공백을 기준으로 버퍼에서 개행 문자를 가져오지 않는다. (hello)

    nextLine()은 개행 문자 포함 한줄 전체를 가져온다. (hello world)

    next() 와 nextLine()을 같이 쓰려면 중간에 sc.nextLine();를 넣고 버퍼의 개행 문자를 없애줘야 한다. 

Scanner sc = new Scanner(System.in);

        String str = sc.next();
        
        sc.nextLine(); //개행 문자 없애줌

        String str1 = input.nextLine();

출처 : https://velog.io/@suyyeon/JAVA-Scanner%ED%81%B4%EB%9E%98%EC%8A%A4-next-nextLine-%EC%B0%A8%EC%9D%B4

출처: https://devlog-wjdrbs96.tistory.com/80

 

 

  • StringBuilder
    • repeat 함수를 for문으로 표현했을 때 코드
public class Main {
	public static void main(String[] args) {
		
		String str = "Hello";
		StringBuilder sb = new StringBuilder();
		
		for(int i = 0; i < 3; i++)
		{
			sb.append(str);
		}
		
		System.out.println(sb);
	}
}

String 은 한번 생성되면 변경할 수 없다. 따라서 str3 = str1 + str2 의 연산으로  문자열을 연결할 때마다 새로운 문자열 객체가 생성되며 성능이 저하될 수 있다. 

StringBuilder 변형가능한 문자열 객체를 생성하기 때문에 기존의 문자열을 변형하는 방식이다. 

주요 메소드는 append, insert, replace 등이 있다. 아래의 블로그에서 다양한 메소드들을 확인했다!

https://myeongju00.tistory.com/61

https://da2uns2.tistory.com/entry/Java-StringBuilder-%EC%82%AC%EC%9A%A9%EB%B2%95%EA%B3%BC-%EC%A3%BC%EC%9A%94-%EB%A9%94%EC%86%8C%EB%93%9C