관련 이론 및 문법

(Arrays 클래스 참고)

http://kkikkodev.tistory.com/179


문제 의도

주어진 코드를 컴파일한 후 실행한 결과를 고르는 문제입니다.


답안

C


풀이 방법

main 메소드를 실행하면, colors 라는 String 배열을 선언하고 "blue", "red", "green", "yellow", "orange" 순으로 배열 요소를 초기화합니다. 그 다음에 Arrays.sort(colors); 문장을 통해서 알파벳 순으로 배열을 오름차순 정렬합니다. 그러면, 배열 요소는 "blue", "green", "orange", "red", "yellow" 순으로 정렬이 됩니다. 그 다음, Arrays.binarySearch 메소드 호출을 통해서, colors 배열에서 "orange" 를 검색합니다. "orange" 는 2 번째에 존재하므로, 2 를 반환하고, 이를 s2 에 저장합니다. 또, Arrays.binarySearch 메소드 호출을 통해서, colors 배열에서 "violet" 을 검색합니다. 하지만, "violet" 은 배열에 존재하지 않으므로, - "violet" 이 삽입될 위치 - 1 을 반환하게 됩니다. "violet" 은 "red" 와 "yellow" 사이인, 4 번째에 삽입되어야 하므로, -4 -1 인 -5 가 반환되고, 이는 s3 에 저장됩니다. 따라서, s2 와 s3 를 출력하면, 2 와 -5 가 출력되므로, 답안은 C 가 됩니다.


by kkikkodev 2016. 11. 20. 17:09