본문 바로가기

알고리즘23

[JAVA]정렬(2) - 선택 정렬(Selection Sort) 1. 선택 정렬(Selection Sort)이란? ㆍ대상 데이터에서 최대나 최소 데이터를 나열된 순으로 찾아가며 선택하는 방법 2. 정렬 과정 ㆍ최소값을 찾는다. ㆍ가장 앞에 있는 데이터와 선택된 데이터를 swap ㆍ남은 부분이 없을 때까지 반복 3. 시간복잡도 ㆍO(n²) 4. 코드예제 import java.util.Arrays; public class SelectionSort { public static void main(String[] args) { // TODO Auto-generated method stub // 5개의 원소를 가지는 배열을 생성 int[] arr = new int[5]; // arr배열에 1~6까지의 난수를 넣는다. for (int i = 0; i < arr.length; i+.. 2023. 1. 10.
[JAVA] 정렬(1) - 버블 정렬(Bubble Sort) 1. 버블 정렬(Bubble Sort)이란? ㆍ두 인접한 데이터의 크기를 비교해 정렬하는 방법(오름차순, 내림차순) ㆍ인접한 데이터 간의 swap 연산으로 정렬 ㆍ교환하며 자리를 이동하는 모습이 물 위에 올라오는 거품 모양과 같다고 하여 버블 정렬이라 함 2. 정렬 과정 ㆍ인접한 데이터 값을 비교 ㆍ조건에 부합하면 swap 연산을 수행 ㆍ범위가 끝날 때까지 반복 3. 시간복잡도 ㆍ O(n²) 4. 코드 예제 import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { // TODO Auto-generated method stub // 배열을 선언하고 원소를 5개로 초기화 int[] arr = { 42,.. 2023. 1. 10.
[JAVA-2753] 윤년 https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 풀기전에 앞서 문제를 몇 번씩 읽어보면서 내 나름대로의 해석을 해보았다. 그러니까 내 해석에 따르자면, 윤년: 연도가 4의 배수이면서 100의 배수가 아닐때(두가지 조건 다 만족해야됨) / 400의 배수일때 * 숫자 x로 나눴을때 나머지가 0인 것을 x의 배수라고 한다. ex)2012는 4로 나눴을 때 나머지가 0이지만 100으로 나누면 나머지가 존재한다. → 2012년은 윤년 ex2)2.. 2021. 12. 7.
[JAVA-9498] 시험 성적 https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net *기초적인 방법* import java.util.Scanner; public class Main { public static void main(String[] args) { //시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, //60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. Scanner sc = new Scanner(System.in); int sc.. 2021. 12. 7.
[JAVA-1330] 두 수 비교하기 https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { //두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. //A가 B보다 큰 경우에는 '>'를 출력한다. //A가 B보다 작은 경우에는 ' 2021. 12. 7.