본문 바로가기
반응형

프로그래머스237

(Python/🥈4)백준 알고리즘 10845번: 큐 문제출처: https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 import sys sys.stdin = open('/Users/song/Desktop/Python/Python/h.txt', 'r') from collections import deque n = int(sys.stdin.readline()) queue = deque() for i in range(n): x = sys.stdin.readline().split() i.. 2023. 5. 1.
(Python/LV3)가장 먼 노드 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: from collections import deque def solution(n, edge): dist = [1] + [0] * (n - 1) graph = [[ ] for i in range(n)] q =deque([1]) for x, y in edge: graph[x-1].append(y) graph[y-1].append(x) while q: l = len(q) for i i.. 2023. 4. 18.
(Python/LV2) 위장 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/42578 풀이 : 첫시도 dic = dict() for (key, value) in clothes: if value in dic: dic[value].append(key) else: dic[value] = [key] # dics = {value: [key] if value not in dic else dic[value] for key, value in clothes} res = 0 num = [] for i in "headgear", "eyewear", "face" : if i in dic: res += len(dic[i]) num.append(len(dic[i])) if len(num) .. 2023. 4. 15.
(Python/LV2) 두 원 사이의 정수 쌍 문제 출처:https://school.programmers.co.kr/learn/courses/30/lessons/181187 풀이: import math def solution(r1, r2): answer = 0 for x in range(1,r2+1): # x 값을 가져옴 max_y = math.floor(math.sqrt(r2 ** 2 - x ** 2)) # 큰 반지름 기준 min_y = 0 if x>r1 else math.ceil(math.sqrt(r1 ** 2 - x ** 2)) # 작은 반지름 기준 print(x, max_y,min_y) answer += max_y- min_y + 1 print(answer) return answer*4 print(solution(2,3)) 원의 방정식을 생각.. 2023. 4. 15.
(Python/LV2)요격 시스템 문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: def solution(targets): targets = sorted(targets, key = lambda x:x[1]) res = 1 now = targets[0][1] # 4 for i in range(1, len(targets)): if now > 신경 안 써도 됨 만약 더 가서 출발이면 그곳에 끝 지점에다가 미사일 요격하고 now로 최신화, res += 1해준다. 2023. 4. 15.
(Python/LV3) 여행경로 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: def solution(tickets): answer = [] routes = dict() # 티켓 정보를 저장하는 딕셔너리 for (start, end) in tickets: if start in routes: routes[start].append(end) else: routes[start] = [end] for i in routes.keys(): routes[i].sort(r.. 2023. 4. 12.
반응형