[Java] 백준 1920번 문제 (수 찾기)
자료구조 & 알고리즘/BOJ2023. 8. 13. 08:42[Java] 백준 1920번 문제 (수 찾기)

문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int N = Integer.parseInt(br.readLine()); int arr[] = new int[N]; StringT..

[알고리즘] 이진 탐색
자료구조 & 알고리즘/알고리즘2023. 8. 12. 21:34[알고리즘] 이진 탐색

이 글은 누구나 자료 구조와 알고리즘(저자 : 제이 웬그로우)의 내용을 개인적으로 정리하는 글임을 알립니다. 정렬된 배열 정렬된 배열은 값이 항상 순서대로 있어야 한다는 점이다. 즉, 값을 추가할 때마다 적절한 셀에 넣어 배열의 값을 정렬된 상태로 유지한다. 이렇게 3, 17, 50, 202로 정렬된 배열이 있다고 가정할 때, 정렬된 배열에서는 값을 오름차순으로 유지하려면 적절한 위치에 75를 삽입해야 한다. 하지만 이는 말처럼 쉽지가 않다. 컴퓨터는 75를 올바른 위치에 바로 넣는 작업을 한 단계로 처리할 수 없다. 먼저 75가 들어갈 올바른 위치를 찾아야 하고, 이후 다른 값들을 옮겨 빈 공간을 만들어야 한다. 처음의 배열 상태로 돌아가보자. 1. 인덱스 0의 값을 확인해서 삽입하려는 값인 75가 왼..

[Java] 백준 11728번 문제 (배열 합치기)
자료구조 & 알고리즘/BOJ2023. 8. 12. 10:57[Java] 백준 11728번 문제 (배열 합치기)

문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws Exception { List A = new ArrayList(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); StringBuilder sb = new StringBuilder(); int N = Integer.parseInt(st...

[Java] 백준 11729번 문제 (하노이 탑 이동 순서)
자료구조 & 알고리즘/BOJ2023. 8. 11. 12:56[Java] 백준 11729번 문제 (하노이 탑 이동 순서)

문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { static StringBuilder sb = new StringBuilder(); static void hanoi(int TopNum, int x, int y) { if (TopNum > 1) hanoi(TopNum - 1, x, 6 - x - y); sb.append(x + " " + y ).append("\n"); if (TopNum > 1) hanoi(TopNum - 1, 6 - x - y, y); } public static void main(String[] args) throws Exception { BufferedReader..

[Java] 백준 14916번 문제 (거스름 돈)
자료구조 & 알고리즘/BOJ2023. 8. 11. 08:11[Java] 백준 14916번 문제 (거스름 돈)

문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int coinCount = 0; while(true) { if(n % 5 == 0) { coinCount += n / 5; System.out.println(coinCount); break; } else { n -= 2; ++coi..

[Java] 백준 26069번 문제 (붙임성 좋은 총총이)
자료구조 & 알고리즘/BOJ2023. 8. 10. 13:35[Java] 백준 26069번 문제 (붙임성 좋은 총총이)

문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokeni..

[자료구조] 배열과 배열 기반의 집합
자료구조 & 알고리즘/자료구조2023. 8. 9. 21:23[자료구조] 배열과 배열 기반의 집합

이 글은 누구나 자료 구조와 알고리즘(저자 : 제이 웬그로우)의 내용을 개인적으로 정리하는 글임을 알립니다. 배열의 크기와 인덱스 배열의 크기 : 배열에 데이터 원소가 얼마나 들어있는지를 나타낸다. 위 그림에서 배열의 크기는 5이다. 배열의 인덱스 : 특정 데이터가 배열의 어디에 있는지 알려주는 숫자다. 자료구조 연산 대부분의 자료 구조는 네 가지 기본 방법을 사용하며 이를 연산이라 부른다. 연산은 아래와 같다. 읽기 검색 삽입 삭제 연산의 속도 측정 연산이 얼마나 '빠른가'를 측정 할 때는 순수하게 시간 관점에서 연산이 빠른가가 아니라, 얼마나 많은 단계가 필요한지를 논해야 한다. 왜 코드의 속도를 시간으로 측정하지 않을까? 누구도 어떤 연산이, 정확히 몇초가 걸린다고 단정할 수 없기 때문이다. 같은 ..

[Java] 백준 2164번 문제 (카드2)
자료구조 & 알고리즘/BOJ2023. 8. 9. 08:30[Java] 백준 2164번 문제 (카드2)

문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); Queue queue = new LinkedList(); for(int i = 1; i

image