프로그래머스 > 코딩테스트 연습 > 코딩 기초 트레이닝 > 문자열 반복해서 출력하기
자바 알고리즘에 대해 공부하던 중 다음과 같은 문제를 보았습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/181950
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
요약하자면,
단어와 숫자를 입력했을 때 해당 단어가 해당 숫자만큼 출력되어야 합니다.
단어가 숫자만큼 '반복'되어야 한다.
.. 반복..
당연히 반복문을 써서 다음과 같은 결과를 작성했습니다.
반복문 for문을 사용하여 문자열 반복하기
if ( str.length() >= 1 && str.length() <= 10 && n >= 1 && n <= 5) {
for (int i = 0; i< n; i++){
System.out.print(str);
}
}
하나씩 파헤쳐보자면,
if문은 해당 문제의 조건에 나와있는 내용입니다.
- 입력한 단어의 길이가 1보다 같거나 크고, 10보다 같거나 작아야 합니다.
- 입력한 숫자가 1보다 같거나 크고, 5보다 같거나 작아야 합니다.
그리고 for문에 숫자 i를 0이라 정하고,
입력한 n보다 작으면 출력 후 1을 더합니다.
이때, i는 0부터 시작하기 때문에 'i <= n'이 아닌 'i < n'입니다.
그런데, 말입니다.
제출 후 다른 코드를 보니 코드를 더 단순화시킬 수 있었습니다.
반복메서드 repeat을 사용하여 문자열 반복하기
java11부터 가능한 String 메서드입니다.
즉, '문자열.repeat(숫자)'를 통해 숫자만큼 문자열이 반복되는 거죠.
코드로 확인하겠습니다.
if ( str.length() >= 1 && str.length() <= 10 && n >= 1 && n <= 5) {
System.out.println(str.repeat(n));
}
System.out.println();을 이용하여 출력합니다.
str.repeat(n);을 입력하여 문자열 s가 숫자 n만큼 반복합니다.
코드가 훨씬 간단해진 걸 볼 수 있습니다.
현재는 코드가 짧아 체감하지 못하겠지만 실무에서 수많은 코드를 본다면 해당 메서드를 통해 단순화할 수 있습니다.
'Language > JAVA' 카테고리의 다른 글
[JAVA] 프로그래머스 LV.0 더크게 합치기 풀이 - 형변환 이렇게 하세요 (0) | 2023.08.10 |
---|---|
[JAVA] join() 메소드로 배열 속 문자들 합치기 (0) | 2023.08.09 |
[JAVA] charAt 메소드로 문자열에서 문자 하나 출력하기 (0) | 2023.08.08 |
[JAVA] 홀/짝 구분하고, 홀/짝의 합 구하기 (+ 프로그래머스 LV.0 홀짝에 따라 다른 값 반환하기) (0) | 2023.08.07 |
[JAVA] trim() 메서드로 공백 제거하기 (0) | 2023.08.07 |