배열을 받으면 순서를 뒤집는 프로그램 작성

  • 예시) 입력: {1, 2, 3, 4, 5} 출력: {5, 4, 3, 2, 1}
  • 처음 요소와 마지막 요소를 교환하고, 범위를 좁혀간다.
  • 홀수와 짝수의 구분이 상관없음

코드

for(int i = 0; i < arr.length/2; i++) {
    int tmp = arr[i];
    arr[i] = arr[arr.length-1-i];
 //처음과 마지막 요소 교환
    //arr.length-1을 해야 arr의 마지막 요소에 접근한다.
    arr[arr.length-i-1] = tmp;
}
		
for(int i : arr ) {
 //개선된 for문!
    System.out.println(i); //확인
}

note!

  • arr.length – 1이 arr의 마지막 index이다.
  • length/2를 할 경우, 홀수는 center index이며, 짝수는 center+1 index이다 (python median 포스트를 보면 이해가 될 듯)
  • 그렇기 때문에, 홀수와 짝수의 구분이 상관없다. (center index에는 접근을 안하게 되는데, 홀수는 어차피 교환을 하지 않고, 짝수는 진짜 center까지 접근을 하기 때문)

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다