본문 바로가기

알고리즘15

[JAVA] 2805 나무 자르기 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 클래스 2 달성 2일차 왜인지 모르겠지만 2가 달성이 돼있었다. 2++문제까지 모두풀어야 한다고 생각했는데 클래스 2 문제 필수문제만 풀면 인정을 해주는 모양이다. 그래서 2++ 문제까지 모두 푸는것으로 목표를 변경하기로 했다. 접근방식 1. 처음 문제를 풀고 읽고 이분탐색인지 눈치 채지못했다. 그래서 나무의 높이가 12 8 15 20 이렇게 4가지라면 톱날.. 2022. 3. 23.
[JAVA] 백준 10773 제로 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net https://solved.ac/search?query=in_class:2 클래스 2 문제집 모음 solved.ac - 검색 solved.ac 백준 클래스 2++ 도전기 매번 추천 문제나 골드문제를 골라서 풀었는데 solved.ac 사이트를 구경하다가 클래스를 발견해서 단계를 올려보고자 하루 한번 클래스2 문제를 포스팅하기로 결정했습니다 ^^; 달성할때까지 달려보.. 2022. 3. 21.
[Java] 백준 1300 K번째 수 https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 접근방법 이분탐색이라고 생각을 바로 하지는 못했다. 처음에는 k번째 인덱스 i,j를 구해서 값을 바로 출력해주는 방식을 생각했다 하지만 A배열, B배열로 나뉘고 각 인덱스는 1부터 시작하고 B배열은 값을 정렬하기 때문에 바로 인덱스를 구한다는 생각은 틀린 생각이었다. 왜냐하면 이미 섞여있는상태에서 인덱스를 구한다는것은 말이 되지 않기 때문이다. 두 번째 방법으로는 n.. 2022. 3. 19.