[프로그래머스] K번째 수

Bob·2021년 3월 8일
0

algorithm level1

목록 보기
7/38

문제설명

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

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

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

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

제한사항

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

입출력 예

나의 코드

#5번 코드

  • 배열의 크기를 미리 정해주지 않으면 배열크기 오류가 나기 때문에 미리 배열의 크기를 commands에 맞게 선언을 해주었다.

#6번 코드

  • commands의 조건에 맞게 array를 부분적으로 나눠야했기 때문에 임시적으로 사용하기 위해 temp를 선언했다.
  • ArrayList를 사용한 이유는 인덱스 접근이 가장 편하다고 생각했기 때문이다.

#8-9번 코드

  • commands의 조건에 맞게 배열을 나누기 위해 배열을 나누는 시작부분과 끝 부분을 변수로 선언하였다.

#10-12번 코드

  • 조건에 맞게 temp에 값들을 넣었다.

#13번 코드

  • 오름차순 정렬을 위해 sort를 사용하였다.

#15-16번 코드

  • temp는 Integer 클래스로 선언되어 있기 때문에 먼저 a라는 변수를 선언하여 temp의 값을 받은 후 그것을 int로 변환하여 answer에 넣었다.

#17번 코드

  • 마지막으로 다음 코드를 또 반복으로 수행해야 하기 때문에 temp의 값을 모두 없애주었다.

다른 사람의 풀이

0개의 댓글