[TIL_49] C# 박수박수박수박수박수?

H·2024년 3월 2일
0

문제 설명

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

제한 사항

n은 길이 10,000이하인 자연수입니다.

코드풀이

public class Solution {
    // solution 메서드: 정수 n을 입력으로 받아 "수박" 패턴의 문자열을 반환합니다.
    public string solution(int n) {
        // 결과 문자열을 저장할 변수 초기화
        string answer = "";
        // "수"와 "박" 문자를 배열에 저장
        char[] watermelon = {'수', '박'};
        
        // n번 반복하면서 문자열 생성
        for (int i = 0; i < n; i++) {
            // 인덱스 i를 2로 나눈 나머지를 사용하여 "수"와 "박"을 번갈아가며 추가
            answer += watermelon[i % 2];
        }
        
        // 결과 문자열 반환
        return answer;
    }
}

csharp
Copy code
public class Solution {
// solution 메서드: 정수 n을 입력으로 받아 "수박" 패턴의 문자열을 반환합니다.
public string solution(int n) {
// 결과 문자열을 저장할 변수를 초기화합니다.
string answer = "";

    // "수"와 "박" 문자를 배열에 저장합니다.
    char[] watermelon = {'수', '박'};
    
    // 정수 n만큼 반복문을 실행하여 문자열을 생성합니다.
    // 반복되는 패턴을 만들기 위해 i를 2로 나눈 나머지를 사용합니다.
    // 인덱스가 홀수인 경우 "수", 짝수인 경우 "박"을 문자열에 추가합니다.
    for (int i = 0; i < n; i++) {
        answer += watermelon[i % 2];
    }
    
    // 결과 문자열을 반환합니다.
    return answer;
}

}

이 코드는 입력으로 받은 정수 n에 따라 "수박" 패턴의 문자열을 생성합니다.

  1. 문자열을 저장할 변수 answer를 초기화합니다.
  2. 패턴에 사용될 문자들 "수"와 "박"을 배열에 저장합니다.
  3. 0부터 n-1까지의 숫자에 대해 반복문을 실행합니다. 이때, i를 2로 나눈 나머지를 사용하여 패턴을 만듭니다.
    4.홀수번째 문자에는 "수"를, 짝수번째 문자에는 "박"을 추가합니다.
  4. 반복이 완료되면 생성된 문자열을 반환합니다.

이렇게 하면 입력 값에 따라 "수박수박수..."와 같은 패턴을 갖는 문자열이 반환됩니다.

여기서 반복되는 패턴을 만들기 위해 한 가지 방법은, 인덱스를 2로 나눈 나머지를 사용하여 패턴을 생성합니다.
왜냐하면 이것은 주어진 패턴이 2개의 문자로 이루어져 있기 때문이죠.

인덱스를 2로 나눈 나머지를 살펴보면 다음과 같아요~!

인덱스가 짝수인 경우: 0 % 2 = 0, 2 % 2 = 0, 4 % 2 = 0, ...
인덱스가 홀수인 경우: 1 % 2 = 1, 3 % 2 = 1, 5 % 2 = 1, ...
따라서 인덱스를 2로 나눈 나머지가 0일 때는 "수", 1일 때는 "박"을 선택하여 문자열에 추가함으로써 원하는 패턴을 생성할 수 있음

profile
IT 서비스 구현 및 게임에 관심이 많습니다.

0개의 댓글