문자열 반복해서 출력하기
코드
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));
}
}
문법 정리
- repeat 함수
- java11부터 추가된 String메서드
- 문자열을 반복하는 함수이다.
- 파라미터=0 : 빈 문자열 반환, 파라미터=음수 : 에러, 파라미터=1 : 문자열 그대로 반환
- 출처: https://www.javastring.net/java/string/java-string-repeat-method
- 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 등이 있다. 아래의 블로그에서 다양한 메소드들을 확인했다!
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] (JAVA) Lv0 더 크게 합치기 (0) | 2023.06.01 |
---|---|
[프로그래머스] (JAVA) Lv0 문자열 겹쳐쓰기 (0) | 2023.05.31 |
[프로그래머스] (JAVA) Lv0 덧셈식 출력하기 문법 정리 (0) | 2023.05.31 |
[프로그래머스] (JAVA) Lv0 대소문자 바꿔서 출력하기 문법 정리 (0) | 2023.05.31 |
[프로그래머스] (JAVA) Lv1 부족한 금액 계산하기 (0) | 2023.05.25 |