728x90
문제
길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를 들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.
제한 사항
n은 길이 10,000이하인 자연수입니다.
결괏값 예시
n | return |
3 | "수박수" |
4 | "수박수박" |
기본 제공 틀
class Solution{
public String solution(int n) {
String answer = "";
return answer;
}
}
풀이 [Java]
class Solution{
public String solution(int n) {
String answer = "수박";
int multi = n/2;
if (n%2==0) {
answer = answer.repeat(multi);
}else {
answer = answer.repeat(multi) + "수";
}
return answer;
}
}
가장 먼저 생각해봐야 할 메서드는 반복 메서드인데요.
같은 패턴의 문자열을 반복하기 위해서 필요한 메서드로는 .repeat가 있습니다.
처음에 저는 "수박" *2와 같은 방법을 사용하려 했었으나 잘못된 방법이었고(파이썬식으로 생각함), 이 문제를 통해 새로운 메서드인 .repeat메서드를 알게 되었습니다.
이 외에 중요한 포인트로는 문자열을 합치는 방법인데요, 위 풀이와 같이 기존에 있는 글자에 다른 문자열을 연결하려면 "+"라는 연산자를 사용하는 방법이 있습니다.
728x90
class Solution{
public String solution(int n) {
String answer = "수박";
int multi = n/2;
if (n%2==0) {
answer = answer.repeat(multi);
}else {
answer = answer.repeat(multi).concat("수");
}
return answer;
}
}
추가적으로 문자열을 합치는 메서드로는 위와 같이 concat이 있습니다. 이 concat함수는 문자열뿐만 아니라 배열 또한 합칠 수 있습니다.
728x90
'알고리즘 스터디 > 프로그래머스 스킬체크 레벨 1(끝)' 카테고리의 다른 글
[프로그래머스 스킬체크 레벨 1] 평균 구하기 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.12 |
---|---|
[프로그래머스 스킬체크 레벨 1] 두 정수 사이의 합 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.12 |
[프로그래머스 스킬체크 레벨 1] 서울에서 김서방 찾기 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.12 |
[프로그래머스 스킬체크 레벨 1] 직사각형 별찍기, 두 개의 정수 n과 m을 입력받아 별(*) 문자를 이용해 직사각형 출력 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.12 |
[프로그래머스 스킬체크 레벨 1] x만큼 간격이 있는 n개의 숫자 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.11 |
댓글