코딩테스트 연습

[프로그래머스] 1단계 - k번째 수 (JAVA)

zzzin 2022. 2. 5. 06:56

여러 개의 숫자가 저장되어있는 배열에서 특정 위치의 값들만을 추출하여 오름차순으로 정렬한 후, 그 중 k번째 수를 추출하는 문제이다.

 

 

조건에서 사용되는 commands는 2차원배열이지만 배열 내부의 배열의 길이는 3으로 고정되어있기 때문에, 내부 배열을 위한 별도의 for문을 추가로 사용할 필요는 없다. 

 

 

 

 


 

결과 화면 예시

 

 

반복문을 사용해서 해결하는 문제이며, 배열을 정렬하는 Arrays.sort() 메소드 배열 내부 특정 위치의 값들을 추출할 때 쓸 수 있는 Arrays.copyOfRange() 메소드를 사용하였다.

 

 

※ 정렬 메소드의 경우 Arrays.sort(배열) 의 형식으로 사용하면 자동으로 오름차순 정렬을 할 수 있다. 오름차순으로 정렬하면 숫자의 경우 작은 숫자~큰 숫자 순으로 정렬되고, 문자열의 경우 알파벳순으로 정렬된다.

 

cf) 내림차순 정렬을 하고 싶다면 Arrays.sort(배열, Collections.reverseOrder()) 와 같은 형식으로 Collections class의 reverseOrder() 메소드를 이용할 수 있다.

 

 

 

※ 배열 내부의 특정 값들을 추출하는 경우 Arrays.copyOfRange(추출하고 싶은 배열, 추출을 시작할 인덱스값, 추출을 끝낼 인덱스값) 의 형식으로 특정 인덱스의 값을 복사하여 사용할 수 있다. 해당 메소드는 원본 배열의 값은 변경시키지 않으며, 메소드를 이용하여 복사한 값을 새로운 배열에 저장하여 사용하는 방식이다.

 

 


 

 

정답처리 된 소스코드