반응형
프로그래머스 코딩테스트 연습 Level 1 - 수박수박수박수박수박수?
코딩테스트 연습 - 수박수박수박수박수박수?
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한
programmers.co.kr
문제의 핵심
1. 출력의 규칙을 찾아낼 수 있는가?
쉬운 문제이고 풀이 방법도 굉장히 다양하다.
이번에는 조금 생각할 수 있는 방식으로 풀어보려고 한다.
먼저, 숫자를 입력받아서
처음에는 "수" 그다음엔 "박"을 차례로 출력하고자 한다.
이는 즉, 입력된 숫자가 2의 배수일때마다 "수박"이 한번 출력되는 것이다.
즉, 입력된 숫자를 2로 나눠서 발생한 몫 만큼 "수박"이 출력된다.
그리고 만약 나머지가 발생하면 "수"를 한번 더 입력해주면 된다.
이렇게 묶어서 단위로 생각하게 되면 굉장히 편리하다
만약, 2가 아니라 5의 배수와 같은 경우일 때
5로 나눈 몫만큼으로 묶어서 계산한 뒤에
발생한 나머지만큼은 마지막에 한번만 추가해주면 되므로
소스코드를 작성할 때도 편리하고
시간에서도 이점을 얻을 수 있다.
정답 코드
public class Solution {
public string solution(int n)
{
// 입력된 숫자를 2로 나눈 몫을 구한다. -> 사실 곧장 for문의 조건식에 넣어줘도 된다.
int Length = n/2;
string answer = "";
for (int i = 0; i < Length; i++)
{
// 몫만큼 수박을 더해준다.
answer += "수박";
}
if (n%2 ==1)
{
answer += "수";
}
return answer;
}
}
반응형
'C# > 프로그래머스' 카테고리의 다른 글
[프로그래머스] C# : 이상한 문자 만들기 (0) | 2021.07.30 |
---|---|
[프로그래머스] C# : 문자열을 정수로 만들기 (0) | 2021.07.30 |
[프로그래머스] C# : 평균 구하기 (0) | 2021.07.29 |
[프로그래머스] C# : 직사각형 별찍기 (0) | 2021.07.28 |
[프로그래머스] C# : 짝수와 홀수 (0) | 2021.07.28 |
댓글