Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 개발자
- Flutter
- Java
- Rxjava 안드로이드
- 코틀린
- MVVM
- 알고리즘
- 안드로이드 개발자
- 잡담
- RxJava
- 이펙티브코틀린
- 이펙티브 코틀린
- 안드로이드 다이얼로그
- Swift 문법
- 프로그래머스
- 안드로이드
- Go언어
- android
- RxKotiln
- Firebase
- swift map
- 코루틴
- Kotiln
- react
- 안드로이드 컴포즈
- 반응형 프로그래밍
- android compose
- Dev6
- 코딩테스트
- 일상
Archives
- Today
- Total
목록그리디 (1)
최데브는 오늘도 프로그래밍을 한다.
1이 될때까지 최소 연산 횟수
n과 k 라는 자연수가 주어진다고 하면 아래 두가지 연산 중 하나씩 진행하여 n이 1이 되도록 하는데 연산 횟수를 최소화 하는 알고리즘을 작성하라. 1. n 에서 1을 빼기 2. n 에서 k를 나누기 이런 문제가 있다고 하자. 이 문제는 그리디 알고리즘의 유명한 문제다. 해설을 보기전 나의 경우는 n = 25 k = 5 count = 0 while 1 : if n%k ==0: n=n/k count+=1 else : count+=1 n= n-1 if n==1 : break print(count) 이런 식으로 풀었다. 이 방법도 틀린 방법은 아니지만 주어지는 숫자의 범위가 커지면 문제가 생길 수 있다. 그래서 사용하는 테크닉이 해설 코드에 있었다. n = 17 k = 4 count = 0 while 1 : ..
알고리즘
2021. 8. 21. 16:15