백준 / 감시 / 15683번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 감시 / 15683번 (골드 3단계)문제 사이트: https://www.acmicpc.net/problem/15683 문제 설명 나의 풀이# 깊은 복사import copy# CCTV별 감시 방향 정의 (상, 하, 좌, 우)directions = { 1: [[(0, 1)], [(0, -1)], [(1, 0)], [(-1, 0)]], # 단방향 2: [[(0, 1), (0, -1)], [(1, 0), (-1, 0)]], # 양방향 3: [[(-1, 0), (0, 1)], [(0, 1), (1, 0)], [(1, 0), (0, -1)], [(0, -1), (-1, 0)]], # 직각 방향 4: [[(-1, 0), (0, 1), (0, -1..
백준 / 생일수 I / 11883번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 생일수 I / 11883번 (골드 3단계)문제 사이트: https://www.acmicpc.net/problem/11883 문제 설명 나의 풀이def main(): import sys input = sys.stdin.read data = input().split() sz = 10**6 + 5 dp = [[0, float('inf')] for _ in range(sz)] dp[0] = [0, 0] # [숫자 구성 값, 자리수 합] # DP 배열 채우기 for i in range(sz): if dp[i][0] == 0 and i != 0: continue for digit i..
백준 / 소트인사이드 / 1427번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 소트인사이드 / 1427번 (실버 5단계)문제 사이트: https://www.acmicpc.net/problem/1427 문제 설명 나의 풀이if __name__ == "__main__": # 숫자를 입력 word = input() # str를 int 리스트로 변경 num = list(map(int, str(word))) # 내림차순으로 변경 num.sort(reverse = True) # 결과 값을 출력하는 for문 for i in num: print(i, end = '')※ 알아야 할 것# 숫자를 입력 word = input() # str를 int 리스트로 변경 num = list(ma..
백준 / 덩치 / 7568번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 덩치 / 7568번 (실버 5단계)문제 사이트: https://www.acmicpc.net/problem/7568 문제 설명 나의 풀이def solution(s): # 결과 result = [] # 길이 len_s = len(s) for i in range(len_s): # 스코어 score = 1 # 현재 당사자의 몸무게, 키 current_weight, current_height = s[i] for j in range(len_s): d_weight, d_height = s[j] # 자신이 아닌 다른 후보가 나와야함 ..
백준 / 트리 / 1068번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 트리 / 1068번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/1068 문제 설명 나의 풀이def make_graph(nodes, len_n, delete): # 노드를 이용해서 그래프로 변환한다. graph = [[] for _ in range(len_n)] # 방문한 곳은 다시 방문하지 않도록 처리 visit = [False] * len_n # 삭제될 노드는 방문하지 않는다. visit[delete] = True # 시작 노드를 결정 root = -1 # answer 전역 변수 global answer for i in range(len_n): ..
백준 / 저울 / 2437번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 저울 / 2437번 (골드 2단계)문제 사이트: https://www.acmicpc.net/problem/2437 문제 설명 나의 풀이def solution(weights, len_n): # 무게 추를 오름차순으로 정렬 weights.sort() # 만들 수 있는 최대 범위 max_range = 0 for weight in weights: # 다음 무게 추가 현재 범위 + 1보다 크다면, 그 값은 만들 수 없다. if weight > max_range + 1: break # 범위를 확장 max_range += weight # 만들 수 없는 최소값 반환 r..
백준 / 구슬 탈출 2 / 13460번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 구슬 탈출 2 / 13460번 (골 1단계)문제 사이트: https://www.acmicpc.net/problem/13460 문제 설명 나의 풀이코드가 조금 길어서 핵심 코드를 부분적으로 설명하겠습니다.# BFS 초기화 (큐에 (red_x, red_y, blue_x, blue_y, 이동 횟수)) queue = deque([(red_x, red_y, blue_x, blue_y, 0)]) visited = set() visited.add((red_x, red_y, blue_x, blue_y))파란 공과 빨간 공을 동시에 움직여서 goal지점에 누가 먼저 도착하는지 확인을 하려고 했습니다.# 공이 벽이나 구멍에 닿을 때까지 이동시키는 함수def mo..
백준 / 가장 긴 증가하는 부분 수열 5 / 14003번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 가장 긴 증가하는 부분 수열 5 / 14003번 (플래티넘 5단계)문제 사이트: https://www.acmicpc.net/problem/14003 문제 설명 나의 풀이def solution(a, arr): answer = [-1000000001] for idx in range(a): # 마지막 원소 last_value = answer.pop() # 다시 추가 answer.append(last_value) # 마지막 원소보다 클 경우 추가 if arr[idx] > last_value: answer.append(arr[idx]) else: ..
백준 / 책 페이지 / 1019번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 책 페이지 / 1019번 (플래티넘 5단계)문제 사이트: https://www.acmicpc.net/problem/1019 문제 설명 나의 풀이import sysdef count_digits_in_range(start, end): """ 주어진 범위(`start`부터 `end`까지)의 숫자에서 각 자리 숫자(0-9)가 몇 번 등장하는지 계산합니다. Args: start (int): 범위의 시작 숫자. end (int): 범위의 끝 숫자. Returns: list: 각 인덱스에 해당 숫자의 등장 횟수를 담은 리스트. """ counts = [0] * 10 point = 1 def a..
백준 / 토너먼트 / 1057번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 토너먼트 / 1057번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/1057 문제 설명 나의 풀이def main(): # 입력 n, kim, lim = map(int, input().split()) # 라운드 초기화 round = 0 # 두 번호가 같아질 때까지 반복 while kim != lim: kim = (kim + 1) // 2 lim = (lim + 1) // 2 round += 1 print(round)main()※ 알아야 할 것구현 문제 입니다!
백준 / 한수 / 1065번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 한수 / 1065번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/1065 문제 설명 나의 풀이def hansu(i): han = list(str(i)) if len(han) == 1: return True elif len(han) == 2: return True else: one = int(han[0]) - int(han[1]) two = int(han[1]) - int(han[2]) # 등차수열 일 경우 True if one == two: return True else: ..
백준 / 체스판 다시 칠하기 / 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 ..
김치바보
'코딩테스트(프로그래머스 & 백준)/백준-Python' 카테고리의 글 목록 (2 Page)