일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준7576 bfs
- 싸피 7기 입학식
- 백준
- 이코테
- 전이학습
- 코딩 교육
- SSAFY
- 삼성청년sw아카데미
- 웹 표준 사이트 만들기
- Learning
- SSAFY 8기
- dfs
- 프로그래머스 고득점 kit
- ssafy 7기 교수님
- 삼성 청년 SW 아카데미
- React
- 프로그래머스
- pytorch
- SWEA
- DP
- git
- ssafy 7기 합격
- 유니온 파인드
- ssafy 7기
- bfs
- DenseNet
- SSAFY 입학식
- SSAFYcial
- 알고리즘
- 코딩교육
- Today
- Total
목록알고리즘/그리디 & 구현 (29)
개미의 개열시미 프로그래밍
https://www.acmicpc.net/problem/22856 22856번: 트리 순회 노드가 $N$개인 이진 트리가 있다. 트리를 중위 순회와 유사하게 순회하려고 한다. 이를 유사 중위 순회라고 하자. 순회의 시작은 트리의 루트이고 순회의 끝은 중위 순회할 때 마지막 노드이다. www.acmicpc.net [풀이 코드] import sys from sys import stdin sys.setrecursionlimit(10**8) input = stdin.readline class Node: def __init__(self, data, left_node, right_node): self.data = data self.left_node = left_node self.right_node = right_..
https://www.acmicpc.net/problem/7490 7490번: 0 만들기 각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다. www.acmicpc.net [풀이 코드] import copy def recurcive(array, n): if len(array) == n: operators_list.append(copy.deepcopy(array)) return array.append(' ') recurcive(array, n) array.pop() array.append('+') recurcive(array, n) array.pop() array.append('-') recurcive(array, n)..
https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net [풀이 코드] t = int(input()) for _ in range(t): l_list = [] r_list = [] data = input() for i in data: if i == '-': if l_list: #왼쪽 스택에 있을 경우 l_list.pop() elif i == '': # 오스택에 있는 문자 왼쪽 스택으로 if r_list: l_list.append(r_list.pop..
https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net [풀이코드] from sys import stdin input = stdin.readline t = int(input()) for _ in range(t): n, m = map(int, input().split()) queue = list(map(int, input().split())) queue = [(i, idx) for idx, i in enumerate(queue)] count = 0 whil..
https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net [풀이 코드] n = int(input()) count = 1 stack = [] result = [] for i in range(n): # 데이터 갯수만큼 반복 data = int(input()) while count
이제 실버 문제 이상만 풀기 도전.. 알고리즘 초보라 뭐가 브론즈 문제인지 실버 문제인지 구분도 못했다..ㅎ https://www.acmicpc.net/problem/1080 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net [풀이 코드] from sys import stdin input = stdin.readline n, m = map(int, input().split()) cnt = 0 flag = False a = [list(map(int, input().strip())) for i in range(n)] b = [li..
https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net [풀이 코드] n = int(input()) array = [] for _ in range(n): array.append(int(input())) array.sort(reverse=True) for index, value in enumerate(array): array[index] = value * (index+1) print(max(array)) - 내림차순으로 정렬을 해준다. 처음엔 ..
https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net [풀이 코드] coin = 1000 - int(input()) array = [500, 100, 50, 10, 5, 1] cnt = 0 for i in array: if coin >= i: cnt += coin // i coin = coin % i print(cnt)