본문 바로가기

코딩테스트 연습/C#

[C#/알고리즘] x만큼 간격이 있는 n개의 숫자

반응형

 

💡  함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

 

‼️ x는 -10000000 이상, 10000000 이하인 정수입니다.

‼️ n은 1000 이하인 자연수입니다.

 

 

 

🖥 나의 풀이

using System;
using System.Collections.Generic;

public class Solution {
    public long[] solution(int x, int n) {
        List <long> answer = new List <long>();
        long i = x;
        int cnt = 0;

        while (cnt < n) {
            answer.Add(i);
            i += x;
            cnt++;
        }

        return answer.ToArray();
    }
}

 

 

🖥 다른 풀이 1

public class Solution {
    public long[] solution(int x, int n) {
            long[] answer = new long[n];

            for (int i = 0; i < n; i++)
            {
                if (i == 0)
                    answer[i] = x;
                else
                    answer[i] = x + answer[i - 1];
            }

            return answer;

    }
}

 

 

🖥 다른 풀이 2

public class Solution {
    public long[] solution(int x, int n) {
         long[] answer = new long[n];
        long longX = x;
        for (int i = 0; i < n; i++)
        {
            answer[i] = longX;
            longX += x;
        }
        return answer;
    }
}

 

 

🖥 다른 풀이 3

public class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        for (int i = 0; i < n; i++)
        {
            answer[i] = (long)x * (i + 1);
        }
        return answer;
    }

 

 

 

📚 테스트 케이스는 맞췄으나, 코드를 제출했을 때 13,14 케이스에서 에러가 났다. 이유가 뭔가 하고 찾아봤더니 아래와 같았다. ( 내용은 프로그래머스에서 그대로 가져왔으나 문제 시 삭제하겠습니다)

 

🗒 출처: 프로그래머스

반응형