본문 바로가기

Java

Chapter 06. 정렬 (1) chapter 06 - 1 정렬 정렬 (sorting) 핵심 항목의 대소 관계에 따라 데이터 집합을 일정한 순서로 줄지어 늘어서도록 바꾸는 작업 작은 것부터 큰 순서로 정렬한 경우 오름차순 정렬 (ascending order), 큰 것부터 작은 순서로 정렬한 경우 내림차순 정렬 (descending order) 정렬 알고리즘의 안정성 - 같은 값의 key를 가진 요소의 순서가 정렬의 전후에도 유지된다면 안정된 정렬이라고 함. - 안정되지 않은 경우, 예를 들어 같은 점수인 학생끼리 이름 순 혹은 학번 순으로 자연스럽게 정렬되지 않음. 내부 정렬과 외부 정렬 - 내부 정렬 (internal sorting) - 정렬하고자 하는 모든 데이터를 하나의 배열에 저장할 수 있는 경우 사용 - 외부 정렬 (exter.. 더보기
[백준 2884번] 알람 시계 BOJ2884 24시간 표현을 사용하여 시와 분을 입력 받아 해당 시각보다 45분 이른 시각 출력 2단계 if문 수학, 사칙연산 0 ≤ H ≤ 23, 0 ≤ M ≤ 59 / 하루의 시작은 00:00 , 끝은 23:59 ex1) input 10 10 → 9 25 ex2) input 0 30 → 23 45 ex3) input 23 40 → 22 55 ① 시각의 시를 의미하는 int type의 year, 분을 의미하는 int type의 minute 변수에 입력한 정수 저장 ② if ((minute - 45) >= 0) → hour : minute-45 ③ else → hour-1 : minute+60-45 → hour-1 : minute+15 ③ else → hour-1 : minute+60-45 if ((h.. 더보기
[백준 14681번] 사분면 고르기 BOJ14681 첫째줄과 둘째줄에 각각 정수 x와 y를 입력받은 후 (x, y)가 속한 사분면 출력 2단계 if문 구현, 기하학 1사분면 : +, + / 2사분면 : -, + / 3사분면 : -, - / 4사분면 : +, - ex1) input 12 \n 5 → 1 ex2) input 9 \n -13 → 4 ① if (x > 0) { if (y > 0) } → 1사분면 ② if (x > 0) { else if (y 0) } → 2사분면 ④ else if (x < 0) { else if (y < 0) } → 3사분면 성공 코드 더보기
[백준 2753번] 윤년 BOJ2753 연도를 입력 받은 후 윤년 여부에 따라 1 혹은 0 출력하는 프로그램 2단계 if문 수학, 구현 윤년의 조건 : (4의 배수) && (!(100의 배수) || (400의 배수)) ex1) input 2012 → output 1 ex2) input 1900 → output 0 ex3) input 2000 → output 1 ① int type 변수 year에 정수 입력 받기 ② (year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0) → true : 1 / false : 0 성공 코드 더보기
[백준 9498번] 시험 성적 시험 점수 입력받아 범위에 따라 A~D, F 출력 2단계 if문 구현 성공 코드 더보기
[백준 1330번] 두 수 비교하기 -10,000이상 10,000이하의 두 정수를 입력 받아 두 수를 비교하여 기호 출력 2단계 if문 수학, 구현, 사칙연산 성공 코드 더보기
[백준 2588번] 곱셈 세 자리수와 세 자리수의 곱셈 과정을 함께 출력하는 프로그램 수학, 사칙연산 성공 코드 더보기
[백준 10430번] 나머지 세 수를 입력 받아 여러 값을 구하여 출력하는 프로그램 (값은 아래 그림의 문제 설명 참고) 수학, 구현, 사칙연산 성공 코드 더보기