(프로그래머스/C#) K번째수

2021. 2. 6. 21:25·CodingTest

난이도: Level 1

프로그래밍 언어: C#

문제명: K번째수

푼일자: 2020년 12월

 

문제 설명

배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.

예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면

  • array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.
  • 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.
  • 2에서 나온 배열의 3번째 숫자는 5입니다.

배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.

 

제한 조건

  • array의 길이는 1 이상 100 이하입니다.
  • array의 각 원소는 1 이상 100 이하입니다.
  • commands의 길이는 1 이상 50 이하입니다.
  • commands의 각 원소는 길이가 3입니다.

입출력 예

arrays commands return
[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

 

입출력 예 설명

[1, 5, 2, 6, 3, 7, 4]를 2번째부터 5번째까지 자른 후 정렬합니다. [2, 3, 5, 6]의 세 번째 숫자는 5입니다.

[1, 5, 2, 6, 3, 7, 4]를 4번째부터 4번째까지 자른 후 정렬합니다. [6]의 첫 번째 숫자는 6입니다.
[1, 5, 2, 6, 3, 7, 4]를 1번째부터 7번째까지 자릅니다. [1, 2, 3, 4, 5, 6, 7]의 세 번째 숫자는 3입니다.

 

Solution.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
 
public class Solution {
    public int[] solution(int[] array, int[,] commands) {
        List<int> answer = new List<int>();
        int[] arr = new int[3];
 
        for (int i = 0; i < commands.GetLength(0); i++) {
            List<int> iList = new List<int>();
            for (int j = 0; j < commands.GetLength(1); j++) iList.Add(commands[i, j]);
            int[] temp = new int[iList[1] - iList[0] + 1];
            Array.Copy(array, iList[0]-1, temp, 0, iList[1] - iList[0] + 1);
            Array.Sort(temp);
            answer.Add(temp[iList[2] - 1]);
        }
 
        return answer.ToArray();
    }
}
Colored by Color Scripter
cs
반응형
저작자표시 비영리 (새창열림)
'CodingTest' 카테고리의 다른 글
  • (프로그래머스/C#) 이상한 문자 만들기
  • (프로그래머스/C#) 가운데 글자 가져오기
  • (프로그래머스/C#) 2016년
  • (프로그래머스/C#) 모의고사
Kua
Kua
정보 공유, 개인 정리 공간 입니다.
  • Kua
    Kua's Miscellaneous
    Kua
    • 분류 전체보기 (185)
      • 대문 (2)
      • Tips (25)
        • Chrome (2)
        • Windows (4)
        • IDE (3)
        • 기타 (16)
      • CodingTest (44)
      • Language (20)
        • PHP (5)
        • C# (7)
        • Java (1)
        • Kotlin (7)
      • Framework & Runtime (16)
        • SpringBoot (12)
        • Node.js (2)
        • Vue.js (1)
        • Gradle (1)
      • DevOps (13)
        • Linux (1)
        • Docker (4)
        • Kubernetes (2)
        • Apache Kafka (1)
        • AWS (1)
      • 일상다반사 (53)
        • 도서 (1)
        • 개발 (8)
        • 후기 - IT (7)
        • 후기 - 일상 (13)
        • 차가리 (4)
        • 방송통신대학교 (4)
        • 음식 (2)
      • Games (12)
        • Minecraft (7)
        • VR (2)
        • 그외 (3)
  • 최근 글

  • 인기 글

  • 태그

    c#
    error
    백준
    bronze1
    java
    후기
    Silver5
    갤럭시
    Plugin
    Algorithm
    bronze2
    Windows
    코딩테스트
    알고리즘
    github
    Kotlin
    Spring Boot
    codingtest
    minecraft
    spring
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.0
Kua
(프로그래머스/C#) K번째수
상단으로

티스토리툴바