[Baekjoon] 백준 21921 블로그 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/21921 import sysinput = sys.stdin.readlinen, x = map(int, input().split(" "))arr = list(map(int, input().split(" ")))prefix = [0 for _ in range(n)]prefix[0] = arr[0]max_val = 0cnt = 0for i in range(1, n): prefix[i] = prefix[i-1] + arr[i]prefix = [0] +prefixfor i in range(n, -1, -1): hap = prefix[i] - prefix[i-x] if hap > max_val: max_val = hap ..
[Baekjoon] 백준 11060 점프 점프 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/11060 import sysfrom collections import dequeinput = sys.stdin.readlinen = int(input())arr = list(map(int, input().split(" ")))visited = [-1 for _ in range(n)]queue = deque()# 0인덱스에 1뎁스queue.append([0, 0])visited[0] = 0while queue: i, dep = queue.popleft() dist = arr[i] for j in range(1, dist+1): if i+j
[Baekjoon] 백준 1937 욕심쟁이 판다 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/1937 import sysinput = sys.stdin.readlinesys.setrecursionlimit(10**6)n = int(input())graph = []visited = [[0 for _ in range(n)] for _ in range(n)]dp = [[-1 for _ in range(n)] for _ in range(n)]for _ in range(n): temp = list(map(int, input().split(" "))) graph.append(temp)dx = [0, 0, 1, -1]dy = [1, -1, 0, 0]max_val = 0cnt = 0def dfs(x, y): if dp[x][y] != -..
[Programmers] 프로그래머스 할인 행사 Python
·
🔻PS/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr from collections import Counterdef solution(want, number, discount): answer = 0 discount_len = len(discount) for i in range(discount_len-10+1): arr = discount[i:i+10] counter = Counter(..
[Programmers] 프로그래머스 숫자 변환하기 Python
·
🔻PS/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr from collections import dequedef solution(x, y, n): queue = deque() visited = set() queue.append([x, 0]) while queue: num, dep = queue.popleft() if num == y: return dep ..
[Baekjoon] 백준 11048 이동하기 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/11048 ❗풀이방법1행과 1열은 누적합 계산(1, 1)에서부터 DP 계산max(graph[i-1][j], graph[i][j-1], graph[i-1][j-1]) 계산 후 (i, j)에 합하기 ❗코드import sysinput = sys.stdin.readlinen, m = map(int, input().split(" "))graph = []for _ in range(n): temp = list(map(int, input().split(" "))) graph.append(temp)for i in range(1, n): graph[i][0] += graph[i-1][0]for i in range(1, m): graph[0][..
[Codetree] 트로미노 Python
·
🔻PS/Codetree
https://www.codetree.ai/missions/2/problems/tromino/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai n, m = map(int, input().split(" "))graph = []visited = [[0 for _ in range(m)] for _ in range(n)]for _ in range(n): temp = list(map(int, input().rstrip().split(" "))) graph.append(temp)answer = []max_val = 0dx = [0, 0..
[Algorithm] 달팽이 배열(나선형 배열)
·
🔻Computer Science/Algorithm
❗달팽이 배열나선형으로 배열을 채우는 패턴으로 배열을 돌면서 값을 순서대로 채우는 배열을 말한다. 일반적으론 왼쪽 상단에서 시작해서 안쪽으로 채우는 경우가 많고, 변형으로 중앙에서 시작해서 바깥쪽으로 나가는 방식도 있다  ❗좌측 상단에서 시작n, m = map(int, input().split(" "))graph = [[0 for _ in range(m)] for _ in range(n)]visited = [[0 for _ in range(m)] for _ in range(n)]dx = [0, 1, 0, -1]dy = [1, 0, -1, 0]d = 0x = 0y = 0graph[x][y] = 1visited[x][y] = 1for i in range(2, n * m+1): nx = x + dx[d]..
[DS] Trie(트라이)
·
🔻Computer Science/Data Structure
❗Trie란?Trie(트라이)는 문자열을 저장하고 효율적으로 검색하기 위한 트리 기반 자료구조이다. 특히 문자열의 접두사(prefix) 검색에 강점이 있고 자동 완성, 사전 검색, 문자열 집합에서의 중복 확인 등에 유용히다각 노드는 하나의 문자를 저장하고 자식 노드로 이어지는 링크들을 가지며 루트에서 시작해 각 문자를 따라가면 하나의 문자열이 완성된다. 루트 노드는 아무 문자도 저장하지 않고 자식 노드들로 각 문자가 연결각 노드는 문자와 자식 노드들을 가짐단어의 끝을 표시하는 종료 노드가 필요하며 보통 플래그로 설정  ❗Trie의 복잡도삽입/탐색 시간복잡도O(L) (L은 문자열의 길이) 문자열의 길이에 비례하기 때문에 길이가 짧을수록 빠른 퍼포먼스를 낼 수 있다. 공간복잡도O(∑L) (저장된 모든 문자열..
[Baekjoon] 백준 20056 마법사 상어와 파이어볼 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/20056 ❗풀이방법각 단계별 new_graph 생성nx, ny는 음수 발생을 방지하기 위해 +n 후에 %n각 위치에 요소가 2개 이상 담겨있는 경우에 파이어볼을 4개로 분할graph를 new_graph로 업데이트 ❗코드import sysinput = sys.stdin.readlinen, m, k = map(int, input().split(" "))graph = [[[] for _ in range(n)] for _ in range(n)]dx = [-1, -1, 0, 1, 1, 1, 0, -1]dy = [0, 1, 1, 1, 0, -1, -1, -1]for _ in range(m): r, c, m, s, d = map(int, input()...
_니지
'분류 전체보기' 카테고리의 글 목록 (3 Page)