코딩 테스트 2

[다이나믹 프로그래밍] 이코테 (파이썬) 1로 만들기 풀이

[문제] 정수 X가 주어졌을 때, 정수 X에 사용할 수 있는 연산은 다음과 같이 4가지입니다. 1. X가 5로 나누어 떨어지면, 5로 나눕니다. 2. X가 3으로 나누어 떨어지면, 3으로 나눕니다. 3. X가 2로 나누어 떨어지면, 2로 나눕니다. 4. X에서 1을 뺍니다. 정수 X가 주어졌을 때, 연산 4개를 적절히 사용해서 값을 1로 만들고자 합니다. 연산을 사용하는 횟수의 최솟값을 출력하세요. 예를 들어 정수가 26이면 다음과 같이 계산해서 3번의 연산이 최솟값입니다. 26 -> 25 -> 5 -> 1 [입력 조건] 1. 첫째 줄에 정수 X가 주어집니다. (1

[이진 탐색] 이코테 (파이썬) 부품 찾기 풀이

[문제] 동빈이네 전자 매장에는 부품이 N개 있다. 각 부품은 정수 형태의 고유한 번호가 있다. 어느 날 손님이 M개의 종류의 부품을 대량으로 구매하겠다며 당일 날 견적서를 요청했다. 동빈이는 때를 놓치지 않고 손님이 문의한 부품 M개 종류를 모두 확인해서 경적서를 작성해야 한다. 이때 가게 안에 부품이 모두 있는지 확인하는 프로그램을 작성해보자. 예를 들어 가게의 부품이 총 5개일 때 부품 번호가 다음과 같다고 하자. N = 5 [8, 3, 7, 9, 2] 손님은 총 3개의 부품이 있는지 확인 요청했는데 부품 번호는 다음과 같다. M = 3 [5, 7, 9] 이때 손님이 요청한 부품 번호의 순서대로 부품을 확인해 부품이 있으면 yes를, 없으면 no를 출력한다. 구분은 공백으로 한다. [입력 조건] 1..