분류 전체보기

·Algorithm (PS)
array = [ [0 ,0 ,0 ,0, 0], [4 ,4 ,4 ,4, 4], [3 ,3 ,3 ,3, 3], [2 ,2 ,2 ,2, 2], [1 ,1 ,1 ,1 ,1]] n = 5 for i in range(n): print(array[i]) print() for i in range(-1, -n, -1): array[i] = array[i-1] array[0] = [0 for i in range(n)] for i in range(n): print(array[i]) for문 수행 이후 array의 값
·Algorithm (PS)
https://www.acmicpc.net/problem/2668 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net 1. 유형 : DFS 2. 문제 아이디어 1 2 3 4 5 6 7 3 1 1 5 5 4 6 입력되는 노드를 시작점이라고 보고 인덱스들이 이어지는 노드라고 생각하여 그래프를 그리면 다음과 같다. 1: [2, 3] 2: [] 3: [1] 4: [6] 5: [4, 5] 6: [7] 7: [] 그래프를 dfs로 순회한다. 방문한 노드를 visited 리스트에 표시하여 이미 방문한 노드는 재방..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최단거리를 이용하는 다익스트라알고리즘의 응용 버전이다. 카카오 코딩테스트 해설을 참고 했다. - 간선의 정보들로 인접 graph를 만든다. 그리고 문제에서 그래프 자체는 양방향 그래프인데 내가 일방향으로 처리를 해서 계속 list 에 인덱스 없다고 에러가 떴다 그래프 문제에서 양방향인지 일방향인지 항상 주의하자 ! !!!!!! - 다익스트라 알고리즘을 출발지의 개수만큼 실행하면 시간초과가 나므로..
·Algorithm (PS)
https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 최단경로를 구하는 방법 중 하나인 다익스트라 알고리즘을 이용해서 풀었다 문제는 기본 다익스트라 알고리즘을 이용해서 풀었다. 시작 정점에서 각 정점까지의 최단거리를 구해서 distance 리스트에 저장하면 된다. # programmers import heapq v, e = map(int, input().split()) k = int(input()) # 시작 정점..
·Algorithm (PS)
https://www.acmicpc.net/problem/20207 20207번: 달력 수현이는 일년의 날짜가 1일부터 365일로 표시되어있는 달력을 가지고있다. 수현이는 너무나도 계획적인 사람이라 올 해 일정을 모두 계획해서 달력에 표시해놨다. 여름이 거의 끝나가자 장 www.acmicpc.net 풀이 Greedy 유형이라는 힌트가 나와있다 가로길이의 경우 calendar[i]를 하나씩 확인하면서 일정이 있을 때마다 계속 하나씩 더해주면 된다 (calendar[i] != 0 이면 하나씩 더함) 세로길이의 경우 현재 범위에서 일정이 겹치는 수들 중 max값으로 갱신한다. 이 예시에서는 2일에서 9일사이의 최대 세로 길이는 3칸이다. 그리고 10일째 될때 일정이 없는데, 이때 저장된 row값과 col 값을..
Python 의 divmod() 함수는 몫과 나머지를 구하는 함수이다. def modify(n, k): # k진수로 변경하기 result = '' while n > 0: n, mod = divmod(n, k) # 몫과 나머지를 구함 result += str(mod) return result[::-1]
·Algorithm (PS)
https://www.acmicpc.net/problem/17836 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 www.acmicpc.net bfs 문제인데 칼이라는 조건이 추가되었다 칼이 있을 때와 칼이 없을 때 최단거리가 달라진다 ..!!!! 이걸 어떻게 처리하느냐가 관건인데, 우선 칼을 가지고 있으면 굉장히 문제가 간단해진다 if array[x][y] == 2: # knife min_time = visited[x][y]-1 + n-1-x + m-1-y # 칼까지의 최단거리 + 칼에서부터 공주까지 거리 칼까지의 최단..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import defaultdict from collections import OrderedDict def solution(id_list, report, k): answer = [] id_dict = OrderedDict() count = defaultdict(int) for id in id_list: id_dict[id] = [] for data in report: ..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (49 Page)