본문 바로가기

전체 글

(90)
<JUNGOL > 확률#5805 문제 : https://www.jungol.co.kr/problem/5805 무엇을 구하는 문제인가? 이미 X번 던져 Y번 앞면이 나왔다. 이때 몇번 앞면이 나와야 확률이 바뀌는 지 최소 횟수를 구하는 문제. ​ 해결 전략 -n범위가 굉장히 큼으로 완전 탐색은 불가능하고, 이에 따라 이분탐색을 생각해볼 수 있다. -현재 확률인 (y*100)/x를 변수now_p에 저장하고, ((y+mid)*100)/(x+mid)가 now_p에 근사할때 까지 이분탐색을 진행한다. ​ 알고리즘 1. x, y를 입력받는다. 2. (y*100)/x를 변수now_p에 저장한다. 3. 2분탐색에서 필요한 low = 1, high = 2e9(20억 = 최대입력값의 2배)로 선언한다. 4. low low = mid + 1 -아니면 ->..
<JUNGOL> 제곱수 출력 #1092 문제 : https://www.jungol.co.kr/problem/1092 무엇을 구하는 문제인가? X의 Y제곱을 20,091,024로 나눈 나머지를 구하는 문제이다. ​ 해결 전략 -y를 반으로 나누어 결과값을 곱하면, x의 y제곱을 구할 수 있다.(ex. 2^4 = 2^2 * 2^2) -y를 계속 반으로 나누어 1이나온다면 x를 return하는 식으로 구현가능 -x, y범위가 크니 long long으로 자료형을 정하였다. ​ 알고리즘 1. x, y를 입력받는다. 2. Divide함수를 이용해, y를 분할하여준다. 3. 만약 y가 1이라면, x를 리턴 4. 해당함수의 리턴값을 출력하여준다. ​ ※주의 할점 y가 0인경우를 고려해야함 ​ #include long long Divide(long long ..