개발/Algorithm36 [Python] 백준 14720번 우유 축제 n = int(input()) store = list(map(int,input().split())) cnt = 0 for i in range(n): if store[i] == cnt % 3: cnt += 1 print(cnt) 같이 문제를 풀었던 친구는 아래와 같은 식으로 풀었다. input() store = list(input().split()) cnt = 0 milk_state = 0 for i in store: if int(i) == milk_state: milk_state += 1 cnt += 1 if milk_state > 2: milk_state = 0 print(cnt) 개발/Algorithm 2021. 11. 15. [Python] 백준 15650번 N과 M (2) from itertools import combinations N, M = map(int, input().split()) p = combinations(range(1, N+1), M) for i in p: print(i) 중복이 안되므로 combinations으로 풀어 준다. 개발/Algorithm 2021. 11. 15. [Python] 백준 15649번 N과 M (1) itertools를 이용해 간단히 풀어보자 from itertools import permutations N, M = map(int, input().split()) P = permutations(range(1, N + 1), M) # iter(tuple) for i in P: print(" ".join(map(str, i))) # tuple -> str 개발/Algorithm 2021. 11. 15. [Python] 백준 1260번 DFS와 BFS from collections import deque def DFS(graph, root): visited = [] stack = [root] while stack: n = stack.pop() if n not in visited: visited.append(n) if n in graph: temp = list(set(graph[n]) - set(visited)) temp.sort(reverse=True) stack += temp return " ".join(str(i) for i in visited) def BFS(graph, root): visited = [] queue = deque([root]) while queue: n = queue.popleft() if n not in visited: vis.. 개발/Algorithm 2021. 11. 12. [Python] 백준 10814번 나이순 정렬 n = int(input()) a = [] for _ in range(n): age,name = map(str,input().split()) age = int(age) a.append((age, name)) a.sort(key=lambda x: x[0]) for i in range(n): #리스트 안의 리스트 깔끔하게 출력하기 print(*a[i],sep=' ') 처음에 그냥 바로 a.append(input().split())으로 받아서 정렬했는데, 그럼 한자리수와 비교가 제대로 안되는 문제가 있어서 정확히 int로 명시해주고 나서 append를 진행했더니 해결되었다. 개발/Algorithm 2021. 11. 11. [Python] 백준 1181번 단어 정렬 import sys n = int(sys.stdin.readline()) a = [] for i in range(n): m = input() if m not in a: a.append(m) c = sorted(a) b = sorted(c, key = len) for i in b: print(i) 개발/Algorithm 2021. 11. 10. [Python] 백준 1541번 잃어버린 괄호 arr = input().split('-') s = 0 for i in arr[0].split('+'): #첫 - 이전에는 다 더 해준다. s += int(i) for i in arr[1:]: # 첫 - 이후는 다 더해서 빼준다. for j in i.split('+'): s -= int(j) print(s) 개발/Algorithm 2021. 11. 9. [Python] 백준 11399번 ATM import sys n = int(sys.stdin.readline()) time = list(map(int, sys.stdin.readline().split())) # 리스트로 받고 time.sort(key=lambda x: -x) #큰 순서대로 정렬 fulltime = 0 for t in range(n): fulltime += time[t] * (t+1) #실제로는 시간이 적은 순으로 진행된다. #적은 시간은 계속해서 대기시간으로 더해지므로 여러번 곱한다. print(fulltime) 개발/Algorithm 2021. 11. 9. [Python] 백준 1931번 회의실 배정 n = int(input()) time = sorted([tuple(map(int, input().split())) for _ in range(n)], key=lambda x: (x[1], x[0])) #x[1]이 중요 ans = end = 0 for s, e in time: if s >= end: ans += 1 end = e print(ans) 개발/Algorithm 2021. 11. 9. [Python] 백준 2798번 블랙잭 import sys, itertools n, m = map(int,sys.stdin.readline().split()) i = [] * n i = list(map(int,sys.stdin.readline().split())) bignum = 0 for card in itertools.combinations(i, 3): # 3개 뽑기 result = sum(card) # 다 더하기 if bignum < result 개발/Algorithm 2021. 11. 8. [Python] 백준 10870번 피보나치 수열 import sys n = int(sys.stdin.readline()) a = []*n a.append(0) if n >= 1: a.insert(1,1) for i in range(2,n+1): a.insert(i,a[i-1] + a[i-2]) print(a[n]) 개발/Algorithm 2021. 11. 8. [Python] 백준 10872번 팩토리얼 import sys n = int(sys.stdin.readline()) result = 1 for i in range(1,n+1): if i 개발/Algorithm 2021. 11. 8. 이전 1 2 3 다음