본문 바로가기
C#/프로그래머스

[프로그래머스] C# : x만큼 간격이 있는 n개의 숫자

by TODAYCODE 2021. 7. 27.
반응형

프로그래머스 코딩테스트연습 Level 1 x만큼의 간격이 있는 n개의 숫자

 

코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자

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

programmers.co.kr

 

문제의 핵심

1. 변수 선언을 알맞게 할 수 있는가?

2. for문을 알맞게 사용할 수 있는가?


x와 n을 입력받아서

x를 x씩 증가시키는걸 n번 하면 되는 문제이다.

 

간단히 수식화하면

x * i 를 n번 반복하는데 반복할때마다 i를 1씩 키워주면 된다.

이걸 for문으로 만들어주면 끝.

 

 

다만 주의할 점이 있다.

for문을 작성할 때 i를 선언하는걸 int i 라고 선언한다면 정답을 맞출 수 없다.

왜냐하면 i가 n의 크기만큼 커져야하는데

n이 int의 영역을 벗어날 정도로 큰 숫자라면 에러가 발생할 수 있다.

따라서 for문에서 사용할 i 값도 int가 아니라 long으로 선언해주어야한다.

i를 x에 곱해줄 것이기 때문에

i는 1부터 시작하면 되고 n과 같아질때까지 증가시켜주면 된다.

 

변수만 주의해주면 아주 간단하게 풀 수 있는 문제였다.

 

 

정답 코드

using System;
using System.Collections.Generic;

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

            for (long i = 1; i <= n; i++)
            {
                numbers.Add(x * i);
            }
            return numbers.ToArray();
        }
    }
반응형

댓글