백준 479

[Python] 백준 풀기 1712 - 손익분기점

파이썬 백준 1712번 브론즈2 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 문제 보기 분류: 수학, 사칙연산 문제 풀기 문제에 대한 수학적 수식을 작성하고 이것을 풀고자 하는 미지수에 대해 정리하여 프로그래밍 하면 된다. 문제에서 제시한 A 와 B 는 지출이기에 음의 숫자로 분류하고, C 는 수익이기에 양의 숫자로 분류하여 생산량 x 에 대한 수식으로 작성하면, - A - B * x + C * x 가 된다. 위의 수식에서 손익분기점이 넘어가는 ..

공부하기/백준 2022.10.18

[Python] 백준 풀기 1912 - 연속합

파이썬 백준 1912번 실버2 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍 문제 풀기 구간합의 최대치가 되기 위해서는 최대한 양수를 누적 시켜나가야 한다. 이에 반하여 최대값에 문제가 되는 경우는 누적합이 음수가 나올때이다. 양의 정수로 이루어진 누적합은 앞으로 나올 수와 합해져 오르락 내리락 할테지만 (누적 합이 0 이상 일때) 최대값에 기여를 할 수 있다. 하지만 음의 정수로 누적합을 기록하는 순간 그 묶음은 ..

공부하기/백준 2022.10.15

[Python] 백준 풀기 10816 - 숫자 카드 2

파이썬 백준 10816번 실버4 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 보기 분류: 자료 구조, 정렬, 이분 탐색, 해시를 사용한 집합과 맵 문제 풀기 이전에 풀었던 1920번 수 찾기 문제의 변형이다. 주어진 카드 범위에 대해 이분 탐색을 하여 원하는 숫자를 찾아 나가지만 답안으로 제출이 필요한 것은 그 수의 개수이다. 그 또한 중복된 숫자의 카드가 존재하기 때문에 이 부분을 해결하는데 쉽게 아..

공부하기/백준 2022.10.13

[Python] 백준 풀기 1780 - 종이의 개수

파이썬 백준 1780번 실버2 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 문제 보기 분류: 분할 정복, 재귀 문제 풀기 기존에 풀었던 2630번 문제 색종이 만들기와 같은 방식의 풀이이다. https://xcevor.tistory.com/56 [Python] 백준 풀기 2630 - 색종이 만들기 파이썬 백준 2630번 실버2 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는..

공부하기/백준 2022.10.12

[Python] 백준 풀기 1920 - 수 찾기

파이썬 백준 1920번 실버4 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 문제 보기 분류: 자료 구조, 정렬, 이분 탐색 문제 풀기 이분 탐색 카테고리의 문제이긴 하나 문제를 보자마자 리스트 안의 원소를 찾는 형식의 코드가 바로 떠올랐다. 하지만, 이분 탐색을 배우기 위한 지금의 시간이니 이분 탐색으로 풀어본다. 일단 주어진 N 값들을 sorted() 함수로 오름차순 정렬을 하여 중간 나눌 ..

공부하기/백준 2022.10.11

[Python] 백준 풀기 1992 - 쿼드트리

파이썬 백준 1992번 실버1 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 문제 보기 분류: 분할 정복, 재귀 문제 풀기 이전에 풀었던 2630번 색종이 만들기 문제와 거의 동일하다. https://xcevor.tistory.com/56 [Python] 백준 풀기 2630 - 색종이 만들기 파이썬 백준 2630번 실버2 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체..

공부하기/백준 2022.10.11

[Python] 백준 풀기 2630 - 색종이 만들기

파이썬 백준 2630번 실버2 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 문제 보기 문제 풀기 2차 array 형태로 모든 색종이의 맵을 저장하고 이중 for loop 를 통해 왼쪽 위 구석에서 부터 차례대로 color_check != colorpaper_ls[i][j]: 체크해 나간다. 이 때, 기준이 되는 원소는 맨 처음에 시작하는 왼쪽 위이며, 흰색 또는 파란색과 같은지를 계속 비교해 나간다. 모든 원소에 ..

공부하기/백준 2022.10.10

[Python] 백준 풀기 1541 - 잃어버린 괄호

파이썬 백준 1541번 실버2 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 보기 분류: 그리디 알고리즘, 수학, 문자열, 파싱 문제 풀기 괄호를 적절히 섞어 최소가 되는 값을 찾기 위한 문제이기에 최소가 되기 위해서는 - 항이 많아져야 한다. 이를 위해 수식에서 - 가 나타나면 괄호의 시작으로 하여 모든 + 들을 거쳐 다음 - 가 나오기 전까지 묶어 주면 된다. 이 말인즉슨, - 문자를 기준으로 분리하여 개별적 묶음을 형성하고 첫..

공부하기/백준 2022.10.09

[Python] 백준 풀기 11399 - ATM

파이썬 백준 11399번 실버4 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 보기 분류: 그리디 알고리즘, 정렬 문제 풀기 줄 서있는 각 사람마다 특정 인자가 더 언급되지 않을까 했는데 그런건 없었다. 그래서 사람의 특성은 생각하지 않고 인출 시간만 고려하면 되기에 고민없이 코드를 작성할 수 있었다. 리스트로 인출 시간을 모두 입력 받은후 오름차순으로 정렬을 한다. 그리고, 지정해준 사람 수 N 개에 대해 for 문을 돌리면 되는데 변수 N 은 사용하지 않고 리스트..

카테고리 없음 2022.10.08