JAVA 선택정렬 알고리즘을 이용한 랭킹구하기

선택 정렬 개념 선택 정렬(selection sort)은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다. 주어진 리스트 중에 최소값을 찾는다. 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)). 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. 비교하는 것이 상수 시간에 이루어진다는 가정 아래, n개의 주어진 리스트를 이와 같은 방법으로 정렬하는 데에는 Θ(n2) 만큼의 시간이 걸린다. – 위키백과 그림으로 이해하기 […]

Read more
JAVA 버블정렬 알고리즘 이해하기

버블 정렬의 개념 거품 정렬(어: bubble sort, sinking sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다. 시간 복잡도가 {\displaystyle O(n^{2})}로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이다 – 위키백과 코드와 그림으로 이해하기 보기와 같이 가면서 계속 검사를 하기때문에 시간복잡도가 상당히 느리다. 그러나 알고리즘을 처음 접하기에는 그림으로 이해하기에도 간단해서 […]

Read more
JAVA 배열 순서 뒤집기

배열을 받으면 순서를 뒤집는 프로그램 작성 예시) 입력: {1, 2, 3, 4, 5} 출력: {5, 4, 3, 2, 1} 처음 요소와 마지막 요소를 교환하고, 범위를 좁혀간다. 홀수와 짝수의 구분이 상관없음 코드 note! arr.length – 1이 arr의 마지막 index이다. length/2를 할 경우, 홀수는 center index이며, 짝수는 center+1 index이다 (python median 포스트를 보면 이해가 될 듯) 그렇기 […]

Read more
JAVA 비트(bit) 연산자

비트 연산자 : 비트(bit) 단위로 논리 연산과 이동 할 때 사용하는 연산자 비트 연산자 설명 & AND 연산 (대응되는 비트가 모두 1이면 1 반환) | OR 연산 (대응되는 비트 중 하나라도 1이면 1 반환) ^ XOR 연산 (대응되는 비트가 서로 다르면 1 반환) ~ NOT 연산 (비트가 1이면 0으로, 0이면 1로 반전) << left shift […]

Read more
JAVA : BufferedReader사용해서 BMI 지수구하기

BufferedReader 사용 (import java.io.*); BufferedReader 설명 String으로 입력형태가 고정되어 있다. Enter로만 구분이 된다. = stringTokenizer나 String.split으로 구분지어줘야함 속도가 Scanner보다 좋다.(코테할때 해답이 거의 bufferedreader) Error handling을 해주어야 함. BMI 지수구하기에 응용하기

Read more