2024/042 [Kotlin] 백준 25418 : 정수 a를 k로 만들기 문제 링크 : https://www.acmicpc.net/problem/25418문제 해설정수 \(A\)에 1을 더하거나 2를 곱하는 연산을 반복하여 정수 \(K\)를 만들 때 필요한 가장 적은 연산 횟수를 구해야 한다. 역으로 생각해보면 이 횟수는 \(K\)를 2로 나누거나 1을 빼는 연산을 반복하여 \(A\)를 만드는 횟수와 동일하다. 2로 나누는 연산이 1을 빼는 연산보다 훨씬 효율적이기 때문에 \(K\)를 \(A\)로 만들 때 까지 현재 수가 짝수라면 2로 나누고, 홀수라면 1을 빼주면 된다.while (current != a) { if (current and 1 == 0) { current /= 2 } else { current-- } count++.. 2024. 4. 29. [OOP] 일급 컬렉션(First Class Collection)으로 컬렉션을 다뤄보자 목차들어가기 전에컬렉션은 굉장히 유용하고 그만큼 많이 사용되는 자료구조 인터페이스지만 그 자체로도 많은 기능을 구현할 수 있다. 이렇게 유용한 컬렉션을 일급 컬렉션(First Class Collection)으로 사용한다면 이미 강력한 기능을 갖고 있.. 2024. 4. 15. 이전 1 다음