일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 코딩
- 알고리즘
- 프로그래머스
- 2022년 정보처리기사 실기
- 자료구조
- 토마토
- 정보처리기사 실기
- 백준 그래프 이론 파이썬
- 프로그래머스 파이썬
- 백준 그래프 탐색 파이썬
- 파이썬
- 정보처리기사
- 2022년 정보처리기사 실기 가답안
- 정보처리기사 실기 시험
- 2022년 정보처리기사 실기 1회 가답안
- 프로그래밍
- dfs
- 백준 백트랙킹 파이썬
- BFS
- 코딩테스트
- 백준 N-Queens
- 그리디
- 코드
- it
- python
- 백준 토마토 파이썬
- 백준 백트랙킹
- BOJ
- 자바
- Today
- Total
목록백준 (45)
코딩,안되면 될때까지
https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 힙큐( heapq)를 사용하면 쉽게 풀수 있는 문제다. 비교횟수를 최소로 하기 위해선 가장 작은 크기의 카드 묶음부터 비교해 나가야 한다.힙큐를 사용하면 우선순위 큐 기능을 구현할 수 있기 때문에 손쉽게 작은 묶음부터 비교해 나갈수 있다.(※참고 : https://hae-sooo97.tistory.com/22?category=925334) -파이썬- #입력받은 카드 묶음을 순서대로 ..
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net -파이썬- from itertools import product n = int(input()) number = list(map(int,input().split())) add,sub,mul,div = map(int,input().split()) #최솟값과 최댓값 초기화 min_value = 1e9 max_value = -1e9 #깊이 우선 탐색..
https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net -파이썬- from itertools import combinations n = int(input()) # 복도의 크기 board = [] # 복도 정보 (N x N) teachers = [] # 모든 선생님 위치 정보 spaces = [] # 모든 빈 공간 위치 정보 for i in range(n): board.append(list(input().split())) for j in ran..
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net -파이썬- from collections import deque n,l,r = map(int,input().split()) graph = [] for _ in range(n): graph.append(list(map(int,input().split()))) dx = [-1,0,1,0] dy = [0,-1,0,1] result = 0 #특정위치에서 출발하여 모든 연합을 체크한 뒤에 데..
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 1) 끝나는 시간이 빠른 회의부터 시작해야 최대한 많은 회의를 할 수 있다. 2) 끝나는 시간을 기준으로 오름차순 정렬을 한다. 3) 다음 회의시간의 시작시간이 이전회의의 시작시간보다 늦은 시각이라면 회의실 이용이 가능하므로 회의실을 배정할 수 있다. -파이썬- # N : 회의수 # start : 회의시작시간, end : 회의 끝나는 시간 (시작시간 끝나는 시간 같을 수 있다) # 진행가능한 회의의 최대갯수 N = int(input()) meeting = [] for i in range(N): start, end..
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 전형적인 그리디 알고리즘 문제이다. 1. k를 가장 큰 화폐의 단위부터 순서대로 나눠준다. 2. k로 나눴을때 몫 = 필요한 화폐의 갯수 3. k로 나눴을때 나머지 = 최소갯수의 화폐로 만들어야 하는 남은 금액 -파이썬- n,k = map(int,input().split()) m_list = [] count = 0 for i in r..
https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net n = int(input()) p = list(map(int,input().split())) p.sort() time = 0 sum = 0 for i in range(len(p)): time+=p[i] sum+=time print(sum)
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 1.가장적은 봉지->5kg최대한 많이 사용 2.무게 n에서 3kg 만큼 빼면서 봉지의 갯수를 하나씩 늘려나가다가 5의 배수가 되는순간 5로 나눠준 몫을 더해준다. 3.5kg을 최대한 많이 사용한다고 해서 5kg을 얼마나 사용할지를 먼저 생각하는게 아닌 3kg짜리의 봉투를 얼마나 적게 사용할수 있는지 먼저 생각하는것이 중요하다. -파이썬- n = int(input()) count=0 while(n>=0): i..