[프로그래머스][C++] 수박수박수박수박수박수?
수박수박수박수박수박수?
문제 링크
분석
문자 길이에 따라 글자를 출력하는 문제입니다.
짝수와 홀수를 구분해서 짝수와 0에서는 수를 출력하고, 홀에서는 박을 출력합니다
반복문을 사용하면 됩니다.
풀이
반복문으로 한번씩 값을 넣어주는 방법입니다.
#include <string>
std::string solution(int n) {
std::string answer = "";
for (int i = 0; i < n; ++i)
{
if(i % 2 == 0)
{
answer += "수";
}
else
{
answer += "박";
}
}
return answer;
}
위의 풀이에서 반복문의 반복 횟수를 절반으로 줄일 수 있습니다.
#include <string>
std::string solution(int n) {
std::string answer = "";
for (int i = 0; i < n / 2; ++i)
{
answer += "수박";
}
if(n % 2 == 1)
{
answer += "수";
}
return answer;
}
위의 풀이와 다르게 if(n % 2 == 1)
으로 마지막 1글자 남아있는지 확인해서 `수`를 붙여줍니다
성능 요약
반복문으로 한번씩 값을 넣어준 성능입니다.
테스트 1 〉 통과 (0.03ms, 4.19MB)
테스트 2 〉 통과 (0.04ms, 4.14MB)
테스트 3 〉 통과 (0.04ms, 4.19MB)
테스트 4 〉 통과 (0.06ms, 4.2MB)
테스트 5 〉 통과 (0.04ms, 4.2MB)
테스트 6 〉 통과 (0.01ms, 4.21MB)
테스트 7 〉 통과 (0.01ms, 4.21MB)
테스트 8 〉 통과 (0.01ms, 3.68MB)
테스트 9 〉 통과 (0.01ms, 4.13MB)
테스트 10 〉 통과 (0.01ms, 3.68MB)
테스트 11 〉 통과 (0.01ms, 4.42MB)
테스트 12 〉 통과 (0.01ms, 4.2MB)
테스트 13 〉 통과 (0.01ms, 4MB)
테스트 14 〉 통과 (0.01ms, 4.2MB)
테스트 15 〉 통과 (0.11ms, 4.19MB)
테스트 16 〉 통과 (0.01ms, 4.17MB)
반복문의 반복 횟수를 절반으로 줄인 성능입니다.
테스트 1 〉 통과 (0.02ms, 4.21MB)
테스트 2 〉 통과 (0.03ms, 4.22MB)
테스트 3 〉 통과 (0.03ms, 3.63MB)
테스트 4 〉 통과 (0.07ms, 4.22MB)
테스트 5 〉 통과 (0.04ms, 4.12MB)
테스트 6 〉 통과 (0.01ms, 4.2MB)
테스트 7 〉 통과 (0.01ms, 4.25MB)
테스트 8 〉 통과 (0.01ms, 4.14MB)
테스트 9 〉 통과 (0.01ms, 4.21MB)
테스트 10 〉 통과 (0.01ms, 3.64MB)
테스트 11 〉 통과 (0.01ms, 3.68MB)
테스트 12 〉 통과 (0.01ms, 4.17MB)
테스트 13 〉 통과 (0.01ms, 3.75MB)
테스트 14 〉 통과 (0.01ms, 4.21MB)
테스트 15 〉 통과 (0.08ms, 4.14MB)
테스트 16 〉 통과 (0.01ms, 4.21MB)
댓글남기기