정렬 알고리즘 - 거품 정렬(Bubble sort)
import java.util.Arrays; public class Main { public static void main(String[] args) { int[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1}; bubble_sort(arr); System.out.println(Arrays.toString(Arrays.stream(arr).toArray())); } private static void bubble_sort(int[] arr) { int size = arr.length; for (int i = 1; i arr[j + 1]) { swap(arr, j, j + 1)..
2023. 9. 3.
백준 2141번 :: 우체국
최근엔 그리디 알고리즘을 풀고 있다. 개인적으로 제일 어렵다고 생각함.. 각 문제마다 풀이를 접근했을 때 이게 어떻게 최적해가 보장이 되는 것인지 설명하기 어려워서 접근법을 구상해내는게 쉽지않음.. ㅠ 그런 문제 중 하나가 이번 '우체국' 문제라고 생각한데이...🥲 https://www.acmicpc.net/problem/2141 2141번: 우체국 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 X[1], A[1], X[2], A[2], …, X[N], A[N]이 주어진다. 범위는 |X[i]| ≤ 1,000,000,000, 1 ≤ A[i] ≤ 1,000,000,000 이며 모든 입력은 정수이다. www.acmicpc.net 접근방법 1. 그리디 알고리즘은 '정렬'이 핵심이라..
2023. 8. 7.
연산자
산술 / 비트 / 관계 / 논리 연산자 더보기 산술 연산자 : +, -, *, /, % 비트 연산자 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자. & 대응되는 비트가 모두 1이면 1을 반환. (비트 AND 연산) | 대응되는 비트 중에서 하나라도 1이면 1을 반환. (비트 OR 연산) ^ 대응되는 비트가 서로 다르면 1을 반환. (비트 XOR 연산) ~ 비트를 1이면 0, 0이면 1로 반전. (비트 NOT 연산, 1의 보수) 부호를 유지하고 지정된 수만큼 모두 오른쪽으로 이동. (Right shift 연산) >>> 명시된 수만큼 비트들을 모두 오른쪽으로 이동, 새로운 비트는 0으로 채움. (Unsigned right shift 연산) 관계 연산자 : ==, !=, >, >=, {method ..
2023. 8. 6.