6236번: 용돈 관리
현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로
www.acmicpc.net

문제 해석
M번 인출하여 주어진 이용할 금액을 만족하는 K원 중 최소값을 구하는 문제이다.
만약 돈이 남을 경우, 남은 금액을 모두 넣고 다시 K원을 인출해야하므로 즉 하루 이용금액보다 K원이 작으면 안된다.
코드

문제 풀이
이분탐색을 활용하였다.
하루 이용금액은 arr에 저장해주었고 left는 0, right는 1000000000로 지정해주었다.
while문안을 살펴보면 중간값을 mid로 지정해주었고 이 mid는 하루 인출 금액을 나타낸다. 하루 이용금액을 계산하기 위해 먼저 인출횟수인 count, 현재 금액인 K를 각각 1과 mid로 초기화 해주었다. flag는 하루이용금액이 mid보다 클 경우 바로 break 시켜주기 위해 선언해주었다.
for문 안을 보면 첫 if문에서 남은 금액이 하루이용금액보다 클경우 남은 금액에 하루이용금액을 빼주었고
else에서 남은 금액이 부족한 경우, K에 다시 mid를 넣어주고 인출 횟수에 1을 추가해주었다.
for문이 끝난 후 만약 count가 M보다 작거나 flag가 1일 경우, 하루 인출 가능금액이 적다는 것으로 left를 mid + 1로 바꾸어주었고 그렇지 않을 경우 크다는 것으로 right에 mid - 1을 넣어주고 결과값인 result와 mid 중 최소값을 result에 다시 넣어주었다.
'Koala - 7기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/C++] 17612번 쇼핑몰 (0) | 2022.08.04 |
---|---|
[백준/python] 6236번 용돈관리 (0) | 2022.07.31 |
[백준/Python] 16507번 어두운 건 무서워 (0) | 2022.07.31 |
[백준 / Python] 16139 - 인간-컴퓨터 상호작용 (0) | 2022.07.31 |
[백준/JAVA] 2315번 가로등 끄기 (0) | 2022.07.30 |
6236번: 용돈 관리
현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로
www.acmicpc.net

문제 해석
M번 인출하여 주어진 이용할 금액을 만족하는 K원 중 최소값을 구하는 문제이다.
만약 돈이 남을 경우, 남은 금액을 모두 넣고 다시 K원을 인출해야하므로 즉 하루 이용금액보다 K원이 작으면 안된다.
코드

문제 풀이
이분탐색을 활용하였다.
하루 이용금액은 arr에 저장해주었고 left는 0, right는 1000000000로 지정해주었다.
while문안을 살펴보면 중간값을 mid로 지정해주었고 이 mid는 하루 인출 금액을 나타낸다. 하루 이용금액을 계산하기 위해 먼저 인출횟수인 count, 현재 금액인 K를 각각 1과 mid로 초기화 해주었다. flag는 하루이용금액이 mid보다 클 경우 바로 break 시켜주기 위해 선언해주었다.
for문 안을 보면 첫 if문에서 남은 금액이 하루이용금액보다 클경우 남은 금액에 하루이용금액을 빼주었고
else에서 남은 금액이 부족한 경우, K에 다시 mid를 넣어주고 인출 횟수에 1을 추가해주었다.
for문이 끝난 후 만약 count가 M보다 작거나 flag가 1일 경우, 하루 인출 가능금액이 적다는 것으로 left를 mid + 1로 바꾸어주었고 그렇지 않을 경우 크다는 것으로 right에 mid - 1을 넣어주고 결과값인 result와 mid 중 최소값을 result에 다시 넣어주었다.
'Koala - 7기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/C++] 17612번 쇼핑몰 (0) | 2022.08.04 |
---|---|
[백준/python] 6236번 용돈관리 (0) | 2022.07.31 |
[백준/Python] 16507번 어두운 건 무서워 (0) | 2022.07.31 |
[백준 / Python] 16139 - 인간-컴퓨터 상호작용 (0) | 2022.07.31 |
[백준/JAVA] 2315번 가로등 끄기 (0) | 2022.07.30 |