반응형

알고리즘 4

[백준 5585문제] 그리디 알고리즘 - 거스름돈 ( python3)

가장 적게 잔돈을 줘야하니까, 거스름돈중에 큰 수 부터 나눠주고 남은돈을 다시 카운트 하면된다. 380엔을 냈고, 620엔의 거스름돈을 받아야하는데 이때 거스름돈 단위중에 가장 큰 단위부터 사용하면된다. 500엔으로 나눈 수를 count 해주고, 나머지값을 잔돈으로 넣어주고 다시 그다음으로 큰 100엔으로 나눠주다보면 500엔 100엔 10엔을 2번 사용해서 총 4번으로 값을 출력할수있다 n =int(input()) change = 1000- n coins = [500,100,50,10,5,1] count = 0 for coin in coins: count += change // coin change %=coin print(count)

[백준 11399문제] 그리디 알고리즘 - ATM ( python3)

문제를 잘 읽어보니, 어차피 가장 시간의 합의 최솟값을 구하는 것이라서, 가장 적은 시간이 걸리는대로 오름차순 정렬을 해준다음에 차례대로 더해주면 될 것 같아서 아래와 같이 구현했다. n =int(input()) p = list(map(int,input().split())) p.sort() result=0 list = [] for i in range(n): result +=p[i] list.append(result) print(sum(list))

[알고리즘] 같은 문자 찾아내기 & 짝 지어 모든 조합 찾아내기

리스트 중에 들어 있는 문자들 중에 같은 문자를 찾아내는 알고리즘을 알아 보겠다. def find_character(a): n = len(a) #리스트 수 result=set() #빈 집합인 변수를 result 이름으로 만들기 for i in range(0, n-1): #이전수를 고려하지 않아도 되니까 for j in range(i+1, n): if a[i]==a[j]: #문자중에 같은 문자가 있다면 result.add(a[i]) #같은 문자의 문자를 result 집합에 넣기 return result character=["a" , "b" ,"a",'b'] print(find_character(character)) 이번에는 n개의 문자에서 짝으로 만드는 모든 경우를 찾는 알고리즘 def find_chara..

반응형