백준 / 체스판 다시 칠하기 / 1018번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 체스판 다시 칠하기 / 1018번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/1018 문제 설명 나의 풀이def main(): # n = 세로 길이, m = 가로 길이 n, m = map(int, input().split()) # 체스판 chess = [list(input()) for _ in range(n)] # 답 answer = [] # 모든 체스판을 확인 하는 과정 # 7로 자르면 모든 체스판을 확인 할 수 있다. for i in range(n - 7): for j in range(m - 7): white_count = 0 ..
백준 / 미로 탈출하기 / 17090번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 미로 탈출하기 / 17090번 (골드 3단계)문제 사이트: https://www.acmicpc.net/problem/17090 문제 설명 나의 풀이import sysinput = sys.stdin.readline # 입력을 더 빠르게 받기 위한 설정sys.setrecursionlimit(350000) # 재귀 호출 깊이 제한을 늘려 스택 오버플로 방지def inrange(r, c, R, C): """ 주어진 좌표 (r, c)가 미로의 범위 안에 있는지 확인하는 함수 """ if 0 ※ 알아야 할 것https://www.acmicpc.net/problem/16236아기상어 문제랑 비슷한 느낌이다.
백준 / 포도주 시식 / 2156번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 포도주 시식 / 2156번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/2156 문제 설명 나의 풀이n = int(input()) # 포도주 잔의 개수# 포도주 양 입력wine = [int(input()) for _ in range(n)]# dp 배열 초기화dp = [0] * (n + 1)if n == 1: print(wine[0])elif n == 2: print(wine[0] + wine[1])else: dp[0] = wine[0] dp[1] = wine[0] + wine[1] dp[2] = max(wine[0] + wine[1], wine[1] + wine[2], wine[0] + wi..
백준 / 유기농 배추 / 1012번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 유기농 배추 / 1012번 (실버 2단계) 문제 사이트: https://www.acmicpc.net/problem/1012 문제 설명 나의 풀이 from collections import deque# 테스트 케이스T = int(input())def earthworm(napa_cabbage, visit, m, n): answer = 0 # 상하좌우로 움직이기 move = [(0, 1), (0, -1), (1, 0), (-1, 0)] for i in range(n): for j in range(m): if not visit[i][j] and napa_cabbage[i][j] == 1: ..
백준 / 로프 / 2217번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 로프 / 2217번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/2217 문제 설명 나의 풀이# 로프의 개수n = int(input())# 최대 중량을 구하는 변수max_weight = 0# 로프를 저장하는 배열rope = [int(input()) for _ in range(n)]# 내림차순으로 저장rope.sort(reverse = True)# 이전 무게current_weight = rope[0]for i in range(1, n): # 이후 무게 next_weight = rope[i] * (i + 1) if current_weight > next_weight: max_weight = cu..
백준 / 설탕 배달 / 2839번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 설탕 배달 / 2839번 (실버 4단계) 문제 사이트: https://www.acmicpc.net/problem/2839 문제 설명 나의 풀이sugar = int(input())bag = 0while sugar >= 0: if sugar % 5 == 0: bag += (sugar // 5) print(bag) break sugar -= 3 bag += 1if sugar ※ 알아야 할 것def sugar_delivery(sugar): # DP 테이블 초기화 dp = [float('inf')] * (sugar + 1) dp[0] = 0 # 0kg는 봉지가 필요 없음 # DP 테이블 채우기..
백준 / A - > B / 16953번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: A - > B / 16953번 (실버 2단계)문제 사이트: https://www.acmicpc.net/problem/16953 문제 설명 나의 풀이from collections import dequedef bfs(start, end): # 큐 생성 (값과 현재까지의 연산 수를 저장) queue = deque([(start, 1)]) # (현재 값, 단계 수) while queue: current, cnt = queue.popleft() # 도착 조건 if current == end: return cnt # 두 가지 연산 수행 ..
백준 / 큐 / 10845번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 큐 / 10845번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/10845 문제 설명 나의 풀이from collections import dequeimport sysinput = sys.stdin.readdef push(q, i): q.append(i)def front(q, result): if q: result.append(q[0]) else: result.append(-1)def back(q, result): if q: result.append(q[-1]) else: result.append(-1)def size(q, result): ..
백준 / 임시 반장 정하기 / 1268번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 임시 반장 정하기 / 1268번 (실버 5단계)문제 사이트: https://www.acmicpc.net/problem/1268 문제 설명 나의 풀이n = int(input()) # 학생 수 입력students = [list(map(int, input().split())) for _ in range(n)] # 학생들의 반 정보 입력# 같은 반 학생 수를 저장할 리스트same_class_counts = [0] * n# 각 학생에 대해 비교for i in range(n): for j in range(n): if i != j: # 자신과는 비교하지 않음 for grade in range(5): # 1학년부터 5학년까지 ..
백준 / 문제집 / 1766번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 문제집 / 1766번 (골드 2단계)문제 사이트: https://www.acmicpc.net/problem/1766 문제 설명 나의 풀이import heapq# 문제 조건: 위상 정렬, 우선순위 큐(힙)# n은 문제의 수 m은 먼저 푸는 것이 좋은 문제에 대한 정보의 개수n, m = map(int ,input().split())indegree = [0] * (n + 1)graph = [[] for _ in range(n + 1)]for _ in range(m): a, b = map(int, input().split()) graph[a].append(b) indegree[b] += 1def toplogy_sort(): result = [] ..
백준 / 거짓말 / 1043번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 거짓말 / 1043번 (골드 4단계)문제 사이트: https://www.acmicpc.net/problem/1043 문제 설명 나의 풀이# 사람의 수 N과 파티의 수 Mn, m = map(int, input().split())# 결과값answer = 0knows = list(map(int, input().split()))knows.pop(0)# 파티의 개수 및 참가자party = []# 1번째 원소는 파티 참가자의 사람 수라서 제거for _ in range(m): people = list(map(int, input().split())) people.pop(0) party.append(people)# 길이가 긴 사람부터 확인 왜냐하면 길수록 다른..
백준 / 기타줄 / 1049번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 기타줄 / 1049번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/1049 문제 설명 나의 풀이# 입력 처리n, m = map(int, input().split())six_set = 1001 # 패키지 가격의 초기값 (최대값보다 큰 값으로 설정)each = 1001 # 낱개 가격의 초기값 (최대값보다 큰 값으로 설정)# 각 브랜드의 패키지 및 낱개 가격을 입력받으며 최소값 갱신for _ in range(m): s, e = map(int, input().split()) six_set = min(six_set, s) each = min(each, e)# 최소 비용 계산# 1. 전부 패키지로만 구매하..
김치바보
'코테' 태그의 글 목록 (2 Page)