코딩테스트

C# 알고리즘 - 짝수는 싫어요

작성자 정보

  • 마스터 작성
  • 작성일

컨텐츠 정보

본문

[문제 설명]

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. 

 

[제한사항]

1 ≤ n ≤ 100 

 

[입출력 예]

 

[입출력 예 설명]

입출력 예 #1

10 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다.

 

입출력 예 #2

15 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다. 

 

[코드]

using System;


public class Solution {

    public int[] solution(double n) {

        int[] answer = new int[(int)Math.Ceiling(n/2)];

        for(int i=0; i<answer.Length; i++)

        {

            answer[i] = 2 * i + 1;

        }

        

        return answer;

    }

}

 

[풀이]

1.int[] answer의 크기 할당

배열의 크기를 매개변수 n의 절반 값으로 설정하기

n을 나누기 위해 매개변수를 double로 설정

캐스팅과 Math.Ceiling을 사용하여 절반값으로 설정

(int)Math.Ceiling(n/2)

Math.Ceiling() - 올림 

 

2.for문을 사용하여 answer에 값 넣기

데이터 넣을 공식은 2*i+1;

for문으로 i가 0부터 배열크기 전까지 돈다면

(int i=0; i<answer.Length; i++)

i = 0  -> 2*i+1;  -> 2*0+1; -> 1

i = 1 ->  2*i+1;  -> 2*1+1; -> 3

이런식으로 홀수 값만 받게됨

 

반올림, 배열에 값는 공식 정도만 알아두면 좋아보임

 

 

[주소]

https://school.programmers.co.kr/learn/courses/30/lessons/120813

해당 알고리즘 문제는 프로그래머스의 알고리즘 문제입니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


알림 0