Algorithms/study log

    [java] 이분탐색

    [java] 이분탐색

    백준 1920 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in..

    [Algorithm] Greedy 그리디 알고리즘

    [Algorithm] Greedy 그리디 알고리즘

    그리디 알고리즘의 핵심 이론 수행 과정 1. 해 선택: 현재 상태에서 가장 최선이라고 생각되는 해를 선택 2. 적절성 검사: 현재 선택한 해가 전체 문제의 제약 조건에 벗어나지 않는지 검사 3. 해 검사: 현재까지 선택한 해 집합이 전체 문제를 해결할 수 있는지 검사. 전체 문제를 해결하지 못하면 1로 돌아가 과정 반복 백준 Greedy algorithm 문제 백준 11047 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 A..

    [Algorithm] DFS, BFS

    [Algorithm] DFS, BFS

    DFS 기본 로직 key) 후입선출, 스택 자료구조 사용, 재귀 형태 1. 시작 노드를 정한 후 사용할 자료구조 초기화 > 필요한 초기 작업은 무엇인가? 인접 리스트로 그래프 표현하기, 방문 배열 (visited) 초기화하기 스택에 노드를 삽입할 때 visited T로 바꿔주는 것! 2. 스택에서 노드를 꺼낸 후, 꺼낸 노드의 인접 노드를 다시 스택에 삽입 이미 다녀간 노드는 재삽입하지 않는 것이 원칙임. > 모든 노드를 다 돌 때까지 반복함. 백준 11724 연결 요소의 개수 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부..

    [JAVA] 시뮬레이션,구현

    [JAVA] 시뮬레이션,구현

    여담 이번에 코테스터디에 참여하게 되면서 연습도 해볼겸 오랜만에 백준 문제를 풀었더니, 생각보다 잘 풀리지 않아서 현타 아닌 현타를 느꼈다... ㅋㅋ 2학년 문해프 과목 들을 때부터 꾸준히 하루에 한두문제씩 푸는 습관을 들였어야 했는데 그간 이것저것 병행하다보니 코딩 문제 푸는 것에 소홀히 하게 된 점이 후회된다. 근데 뭐...어쩌겠나 해야지 이제라도 스터디에 함께 해보지 않겠냐고 제안해준 센빠이들에게 무한의 감사를 표함니다 하하 백준 시뮬레이션(구현) 문제 1157번 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하..