004 컴퓨터과학/알고리즘19 [백준 온라인저지] 그리디 알고리즘 / 5585. 거스름돈 문제 예제 소스코드 시간 : 48ms n = int(input()) m = 1000 - n coins = [500,100,50,10,5,1] count = 0 for coin in coins : count += m // coin m %= coin print(count) 2023. 6. 4. [백준 온라인저지] 그리디 / 2839. 설탕 배달 문제 예제 소스코드 시간 : 44ms n = int(input()) count = 0 for x in range(n // 5, -1, -1) : m = n - (5 * x) if(m % 3 == 0) : count += x count += m // 3 break print(count if count else -1) 2023. 6. 4. [백준 온라인저지] 정렬 알고리즘 / 1181. 단어 정렬 문제 예제 소스코드 시간 : 4596ms import sys n = int(sys.stdin.readline()) answer = [] strings = [] for x in range(n) : string = sys.stdin.readline().strip() strings.append(string) strings.sort(key = lambda x : (len(x), x)) for x in strings : if x not in answer : answer.append(x) for x in answer : print(x) 메모 sys.stdin.readline() 을 사용하면, '\n' 이 삽입된다. -> strip() 으로 제거 문자열 또한 sort()를 이용해 정렬할 수 있다. sort(key =.. 2023. 6. 4. [백준 온라인저지] 정렬 알고리즘 / 2751. 수 정렬하기 2 문제 예제 소스코드 시간 : 1380ms import sys answer = [] n = int(sys.stdin.readline()) for x in range(n) : num = int(sys.stdin.readline()) answer.append(num) for i in sorted(answer) : print(i) 2023. 6. 4. [백준 온라인저지] 정렬 알고리즘 / 2309. 일곱 난쟁이 문제 예제 소스코드 시간 : 40ms import sys numbers = [] for x in range(9): n = int(sys.stdin.readline()) numbers.append(n) first = 0 second = 0 sum = sum(numbers) for x in range(0, 8) : for y in range(x+1, 9) : if (sum - numbers[x] - numbers[y]) == 100 : first = x second = y break numbers.pop(first) numbers.pop(second - 1) numbers.sort() for x in numbers : print(x) 2023. 6. 3. [백준 온라인저지] 정렬 알고리즘 / 2587. 대표값2 문제 예제 소스코드 import sys numbers = [] for x in range(5): n = int(sys.stdin.readline()) numbers.append(n) numbers.sort() print(int(sum(numbers) / 5)) print(numbers[2]) 2023. 6. 3. [백준 온라인저지] 정렬 알고리즘 / 1946. 신입 사원 문제 예제 소스코드 import sys k = int(sys.stdin.readline()) answers = [] for x in range(k) : n = int(sys.stdin.readline()) people = {} for x in range(n) : a, b = map(int, sys.stdin.readline().split()) people[a] = b answer = [people[1]] for x in range(2, n+1) : if people[x] < answer[-1] : answer.append(people[x]) answers.append(answer) for x in answers : print(len(x)) 첨언 기존까지는 문제를 풀때, input() 함수를 이용해, 입력.. 2023. 6. 3. [백준 온라인저지] 정렬 알고리즘 / 1920. 수 찾기 문제 예제 소스코드 시간 : 192ms n = int(input()) numbers = list(map(int, input().split())) m = int(input()) target = list(map(int, input().split())) numberHash = {} for x in numbers : numberHash[x] = True for y in target : if numberHash.get(y) == True : print(1) else : print(0) 2023. 6. 3. 이전 1 2 3 다음