목록2020/09 (14)
차근차근
0. 제목 백준 2110 공유기 설치 BOJ 2110 공유기 설치 Python 2110 공유기 설치 1. 문제 https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (1 ≤ xi ≤ 1,000,000,000)가 � www.acmicpc.net 2. 풀이 이진탐색을 사용하는 문제이다. 두 공유기 사이 거리의 최대값과 최소값을 가장 먼저 구하고 중간값을 구해가며 정답을 구한다. 중간값을 구할 때마다 설치 가능한 공유기 개수를 구한다. 설치 가능한 공유기 개수와 입력받은 공유기..
0. 제목 백준 1874 스택 수열 BOJ 1874 스택 수열 Python 1874 스택 수열 1. 문제 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 2. 풀이 스택에 원소를 삽입할 때는, 단순히 특정 수에 도달할 때까지 삽입하면 된다. 스택에서 원소를 연달아 빼낼 때 내림차순을 유지할 수 있는지 확인한다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11..
0. 제목 백준 1302 베스트 셀러 BOJ 1302 베스트 셀러 Python 1302 베스트 셀러 1. 문제 https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 2. 풀이 등장 횟수를 계산할 때는 Dictionary 자료형을 이용하면 효과적이다. books라는 Dictionary를 선언하고, book을 입력 갯수만큼 입력받는다. 입력받으면서 딕셔너리에 저장하고 갯수를 1 증가시킨다. Dictionary에 이미 있는 이름이면 1 증가시켜주고..
0. 제목 백준 1236 성 지키기 BOJ 1236 성 지키기 Python 1236 성 지키기 1. 문제 https://www.acmicpc.net/problem/1236 1236번: 성 지키기 첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다 www.acmicpc.net 2. 풀이 2차원 배열로 생각하여 풀면 되는 문제이다. 가장 먼저 n행, m열의 2차원 배열에 모두 0을 넣는다. 2차원 배열을 탐색하면서 X가 있는 곳에 1로 갱신한다. 그 후, 행과 열 각각 탐색하며 원소가 0인 경우 각각의 숫자(필요한 경비원 수)에 1씩 더한다. 행에서 필요한..