정처기 감자정처기 감자
Java알고리즘

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

Java 정렬과 순위 알고리즘

코딩Java
읽는데 4분 소요
처음 쓰인 날: 2026-03-28
마지막 수정일: 2026-03-28
조회수: —
선수학습(2개)
  • 배열과 리스트의 기초
  • 반복문 (for, while) - 루프의 기초

요약

Java에서 출제된 정렬(버블 정렬)과 순위 알고리즘을 알아봅니다. swap 패턴, 이중 for문 구조를 이해하여 정보처리기사 실기 문제를 풀어봅니다.

정렬과 순위 핵심 정리

개념설명예시
swap두 변수의 값을 교환t=a; a=b; b=t;
버블 정렬인접 요소를 비교하여 교환{5,3,1} → {1,3,5}
순위 알고리즘자신보다 큰 값의 개수 + 1 = 순위{79,34} → 순위 {1,2}

swap (값 교환)

정렬 알고리즘에서 swap은 두 값을 서로 바꾸는 동작입니다. 임시 변수 t를 사용하여 값이 사라지지 않도록 합니다.

java
코드 하이라이팅 중…

예를 들어 a[0]=5, a[1]=3을 교환하면:

단계a[0]a[1]t
시작53-
① t = a[0]535
② a[0] = a[1]335
③ a[1] = t355
임시 변수 없이는 교환할 수 없습니다
t 없이 a[0] = a[1]을 먼저 하면 a[0]의 원래 값(5)이 사라집니다. 반드시 임시 변수에 먼저 저장해야 합니다.

버블 정렬 (Bubble Sort)

버블 정렬은 인접한 두 요소를 비교하여, 순서가 잘못되었으면 교환하는 정렬 알고리즘입니다. 이 과정을 배열 전체에 대해 반복하면 가장 큰 값이 뒤로 밀려나면서 정렬됩니다.

java
코드 하이라이팅 중…

버블 정렬 동작 원리

배열 {5, 3, 1}을 오름차순 정렬하는 과정입니다.

1회전 (i=0): 인접 요소를 비교하며 가장 큰 값(5)이 맨 뒤로 이동

비교조건동작배열 상태
a[0]=5, a[1]=35 > 3 → 참swap{3, 5, 1}
a[1]=5, a[2]=15 > 1 → 참swap{3, 1, 5}

2회전 (i=1): 마지막 1개(5)는 이미 정렬되었으므로 제외

비교조건동작배열 상태
a[0]=3, a[1]=13 > 1 → 참swap{1, 3, 5}

정렬 완료: {1, 3, 5}

내부 반복 범위: len - i - 1

j < len - i - 1에서 -i는 매 회전마다 이미 정렬된 뒤쪽 요소를 제외하기 위한 것입니다. i회전이 끝나면 뒤에서 i개는 이미 올바른 위치에 있습니다.

버블 정렬은 23년 1회에 빈칸 채우기로 출제되었습니다
swap 함수의 빈칸과 bubbleSort 호출 시 인자를 채우는 문제입니다. swap의 교환 패턴(t=a[idx1], a[idx1]=a[idx2], a[idx2]=t)을 정확히 이해해야 합니다.

순위 알고리즘

순위 알고리즘은 배열의 각 요소가 몇 번째로 큰지(또는 작은지) 구하는 알고리즘입니다. 이중 반복문으로 자신과 다른 모든 요소를 비교합니다.

java
코드 하이라이팅 중…

순위 알고리즘 동작 원리

"나보다 큰 값의 개수 + 1 = 순위"라는 원리입니다. 가장 큰 값은 자신보다 큰 값이 0개이므로 순위 1, 두 번째로 큰 값은 1개이므로 순위 2가 됩니다.

요소값나보다 큰 값개수순위 (1+개수)
arr[0]799912
arr[1]3479, 99, 5034
arr[2]1079, 34, 99, 5045
arr[3]99없음01
arr[4]5079, 9923

result = {2, 4, 5, 1, 3} → 출력: 24513

result를 1로 초기화하는 이유
순위는 1부터 시작합니다. 나보다 큰 값이 0개이면 1등, 1개이면 2등이 됩니다. 초기값을 0으로 하면 순위가 0부터 시작하여 틀립니다.

정보처리기사 실기 기출 문제

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999