본문 바로가기

분류 전체보기

(308)
[백준/python] 1806번: 부분합 문제 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 문제 요약 길이가 N인 수열을 입력 받고 연속된 수들의 부분 합의 크기가 S이상인 부분 수열 중 길이가 가장 짧은 수열의 길이를 출력한다. + 위 조건을 만족하는 부분합이 없다면 0을 출력한다. 코드 N, S = map(int, input().split()) # 수열의 길이 N, S 이상의 부분수열의 합 arr = list(map(int, input().split())) # 수..
[백준/python] 14465번: 소가 길을 건너간 이유 5 문제 https://www.acmicpc.net/problem/14465 14465번: 소가 길을 건너간 이유 5 첫 줄에 N, K, B (1 ≤ B,K ≤ N)가 주어진다. 그 다음 B줄에는 고장난 신호등의 번호가 하나씩 주어진다. www.acmicpc.net 문제 요약 일자형 도로 위의 횡단 보도 개수 N와 고장난 신호등 B개의 정보를 입력 받는다. 정상적으로 작동하는 신호등이 연속으로 K개 있도록 만들기 위해 최소로 필요한 수리할 신호등 개수를 출력한다. 코드 (누적 합) N, K, B = map(int, input().split()) # 횡단보도 개수 N, 연속하는 신호등 개수 K, 고장난 신호등 개수 B arr = [0] * (N + 1) # arr[i]는 i에 존재하는 신호등 상태 (고장이면 ..
[백준/python] 2467번: 용액 문제 https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 문제 요약 크기가 N인 1차원 배열을 입력 받고 합이 0과 가장 가까운 두 수를 출력한다. + 오름차순으로 배열을 입력 받고 두수를 출력한다. 코드 N = int(input()) arr = list(map(int, input().split())) left, right = 0, N - 1 # arr[left]과 arr[right]을 가리키는 투 포인터 minVal = abs(arr[lef..
[백준/python] 21608번: 상어 초등학교 문제 https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 문제 요약 N × N 크기의 교실에 조건에 맞게 학생들을 배치하고 그들의 만족도를 출력한다. 조건 1. 비어있는 칸 중에서 좋아하는 학생이 인접한 칸에 가장 많은 칸으로 자리를 정한다. 2. 1을 만족하는 칸이 여러 개이면, 인접한 칸 중에서 비어있는 칸이 가장 맣은 칸으로 자리를 정한다. 3. 2를 만족하는 칸도 여러 개인 경우에는 행의 번호가 가장 작은 칸으로, 그러한 칸도 여..
[백준/python] 20057번: 마법사 상어와 토네이도 문제 https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 문제 요약 N × N 격자로 이루어진 모래밭 가운데서 토네이도가 이동하며 해당 칸에 있는 모래를 흩뿌린다. 모래밭을 입력 받고 격자 밖으로 나간 모래의 양을 출력한다. + 토네이도는 모래밭의 (0, 0) 좌표에서 소멸된다. 코드 # 토네이도 이동방향 delta = [(0, -1), (1, 0), (0, 1), (-1, 0)] # 좌, 하, 우, 상 # 토네이도..
[백준/python] 9251번: LCS 문제 https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 문제 요약 LCS(Longest Common, Subsequence, 최장 공통 부분 수열) 문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 주어진 두 문자열의 LCS길이를 출력한다. 예) ACAYKP 와 CAPCAK의 LCS는 ACAK가 된다. 코드 A = input() B = input() dp=..