Algorithm/Python

Algorithm/Python

[python/leetcode]employee importance/dfs

💬 문제 (leetcode.com/problems/employee-importance/) You are given a data structure of employee information, which includes the employee's unique id, their importance value and their direct subordinates' id. For example, employee 1 is the leader of employee 2, and employee 2 is the leader of employee 3. They have importance value 15, 10 and 5, respectively. Then employee 1 has a data structure like..

Algorithm/Python

[python/leetcode]network delay time/dijkstra/heapq

💬 문제 You are given a network of n nodes, labeled from 1 to n. You are also given times, a list of travel times as directed edges times[i] = (ui, vi, wi), where ui is the source node, vi is the target node, and wi is the time it takes for a signal to travel from source to target. We will send a signal from a given node k. Return the time it takes for all the n nodes to receive the signal. If it i..

Algorithm/Python

[python/leetcode]course schedule/tree/dfs

문제 There are a total of numCourses courses you have to take, labeled from 0 to numCourses - 1. You are given an array prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai. For example, the pair [0, 1], indicates that to take course 0 you have to first take course 1. Return true if you can finish all courses. Otherwise, return ..

Algorithm/Python

파이썬 defaultdcit 런타임에러 RuntimeError: dictionary changed size during iteration

from collections import defaultdict graph = defaultdict(list) for x in graph: ... 런타임 에러 발생 원인: defaultdict는 존재하지 않는 키 조회 시 오류가 생기지 않게 하기 위해 항상 디폴트를 생성함. from collections import defaultdict graph = defaultdict(list) for x in list(graph): ... 해결 방법: 새로운 복사본 생성 graph -> list(graph)

Algorithm/Python

[파이썬/프로그래머스][1차] 뉴스 클러스터링/Counter를 이용한 교집합, 합집합

링크 programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 코드 import re from collections import Counter def subset(string): result = [] string = string.lower() for i in range(len(string)-1): elem = string[i:i+2] if elem == re.sub('[^a-z]', '', elem): resu..

Algorithm/Python

[파이썬/프로그래머스]배달/다익스트라/우선순위큐/가지치기!!!!!!!!!

링크 programmers.co.kr/learn/courses/30/lessons/12978?language=python3 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 문제 설명 N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도로를 지날 때 걸리는 시간은 도로별로 다릅니다. 현재 1번 마..

Algorithm/Python

[파이썬/프로그래머스]점프와 순간이동

링크 programmers.co.kr/learn/courses/30/lessons/12980 코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈 programmers.co.kr 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트가 있다. K 칸인건 상관없고 현재 칸이 x라고 할때, x+1 또는 x*2의 위치로 이동할 수 있다고 생각하면 된다. r이 1인 경우에만 순간이동을 못하니 배터리를 사용해주면 된다. 코드 def solution..

Algorithm/Python

[파이썬/프로그래머스]예상 대진표

링크 programmers.co.kr/learn/courses/30/lessons/12985# 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 규칙을 찾아보니 대진표의 짝수 숫자 //2 가 다음 대진표에 나가는거라서 a가 홀수일 경우에만 1을 더해주게 했는데, 다시 생각해보니 짝수든 홀수든 상관없이 1을 더하면 다음 대진표 숫자가 된다((1+1)//2=1, (2+1)//2=1 로 서로 같음). 그렇게 코드를 짰으면 더 간결했을 듯 def solution(n,a,b): answer = ..

Algorithm/Python

[파이썬/프로그래머스]쿼드압축 후 개수 세기

링크 programmers.co.kr/learn/courses/30/lessons/68936?language=python3# 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 처음에는 리스트를 4개로 나누어줬는데, 계속 시간초과가 되서 리스트를 직접 만들지 않고 포인터처럼 r, c가 왔다갔다 하게 구현했다. 그리고 처음에 바..

Algorithm/Python

[파이썬/프로그래머스]짝지어 제거하기 스택사용

링크 programmers.co.kr/learn/courses/30/lessons/12973?language=python3 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 ..

Algorithm/Python

[파이썬/백준 19236]청소년 상어

링크 www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 문제 아기 상어가 성장해 청소년 상어가 되었다. 4×4크기의 공간이 있고, 크기가 1×1인 정사각형 칸으로 나누어져 있다. 공간의 각 칸은 (x, y)와 같이 표현하며, x는 행의 번호, y는 열의 번호이다. 한 칸에는 물고기가 한 마리 존재한다. 각 물고기는 번호와 방향을 가지고 있다. 번호는 1보다 크거나 같고, 16보다 작거나 같은 자연수이며, 두 물고기가 같은 번호를 갖는 경우는 ..

Algorithm/Python

[파이썬/프로그래머스]게임 맵 최단거리 BFS

링크 programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 게임 맵의 상태 maps가 매개변수로 주어질 때, 캐릭터가 상대 팀 진영에 도착하기 위해서 지나가야 하는 칸의 개수의 최솟값을 return ..

박한결
'Algorithm/Python' 카테고리의 글 목록 (3 Page)