-
[백준] 1300 K번째 수 #JAVAAlgorithm Solving/BAEKJOON 2021. 2. 1. 22:49
BAEKJOON [1300] K번째 수
코드
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int k = Integer.parseInt(br.readLine()); int start=1; int end=k; int ans = 0; //찾고자 하는 수 while(start <= end) { int mid = (start+end)/2; int idxCnt = 0; //찾고자 하는 수의 인덱스 for (int i = 1; i <= n; i++) { idxCnt += Math.min(mid/i, n); } if(idxCnt < k) { // start = mid+1; }else { ans = mid; end = mid-1; } } System.out.println(ans); } }
풀이
- 이 문제를 풀기 위한 원리를 3일간 생각 했으나 못했다.
- 풀이를 보니 인덱스 합을 구하는 방법이 처음 보는 방법..
- devowen.com/265
잘못된 코드나 내용이 있다면 댓글을 남겨주세요. 즉시 수정하도록 하겠습니다! :)
'Algorithm Solving > BAEKJOON' 카테고리의 다른 글
[백준] 11657 타임머신 #JAVA 출력초과 (0) 2021.02.07 [해커랭크] Two Strings #JAVA (0) 2021.02.01 [백준] 1021 회전하는 큐 #JAVA (0) 2021.01.31 [백준] 6198 옥상 정원 꾸미기 #JAVA (0) 2021.01.31 [백준] 2493 탑 #JAVA (0) 2021.01.30