Develop/Algorithm
[프로그래머스/Java] 연습문제 - 수박수박수박수박수박수?
노이지
2021. 1. 21. 16:42
반응형
문제
문제 출처
programmers.co.kr/learn/courses/30/lessons/12922
문제 설명
길이가 n이고, "수박수박수박수"....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 사항
- n은 길이 10,000이하인 자연수입니다.
입출력 예
n | return |
3 | "수박수" |
4 | "수박수박" |
풀이
1. n/2만큼 반복하여 "수박"을 붙인다.
2. n이 홀수인 경우 마지막에 "수"를 추가로 붙인다.
class Solution {
public String solution(int n) {
String answer = "";
for (int i=0;i<n/2;i++) {
answer += "수박";
}
//홀수인 경우 마지막에 "수" 추가
if (n%2 == 1)
answer += "수";
return answer;
}
}
다른 사람의 풀이
1. 길이가 n/2+1인 문자열 생성한다.
2. 각 문자(\0)를 "수박"으로 대체한다. -> 길이가 n(n이 짝수인 경우) 또는 n+1(n이 홀수인 경우)인 문자열이 된다.
3. 처음부터 n번째 문자까지 반환한다.
class Solution {
public String solution(int n) {
return new String(new char [n/2+1]).replace("\0", "수박").substring(0,n);
}
}
반응형