코테준비

코테준비/프로그래머스

[프로그래머스] 이중우선순위큐

링크: https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 operations의 각 요소를 split() 처리해주어 삽입과 삭제를 판단. heapq를 활용하여 삽입은 자동처리 -1, 1 확인 후 최솟값 최댓값 둘 중 뭘 뺄지 판단 코드(틀림) import heapq def solution(operations): heap = [] for i in operations: # 삽입 삭제 분리 a, b = i.split() # 삽입은 heapq를 ..

코테준비/프로그래머스

[프로그래머스] 정수 삼각형 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr아이디어triangle배열을 dp 배열로 재사용해도 문제가 없어 보인다.각 노드에 갈 수 있는 최대 값을 triangle테이블에 덮어쓰기 점화식: triangle[i][j] += max(triangle[i-1][j-1], triangle[i-1][j]) dp의 가장 깊은 층의 최댓값을 반환 -> max 두 번 쓰면 될 듯?코드def solution(triangle): # 양 사이드는 미리 구한다..

코테준비/프로그래머스

[프로그래머스] n^2 배열 자르기 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 2중 for문을 돌리는데 i, j를 비교하여 큰 수를 1차원 배열에 append 하는 방식으로 하면 1,2,3 과정을 한 번에 할 수 있을 듯 이후 슬라이스를 하여 result를 반환한다. 코드(시간초과) def solution(n, left, right): tmp = [] # 수 채움과 동시에 1차원 배열로 표현 for i in range(n): for j in range(n):..

코테준비/백준

[백준] 1012번: 유기농 배추 - Python

링크: https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 아이디어 가로 새로 크기만큼 배열 생성 입력된 좌표를 1로 변경 이중 for문을 돌며 1인 좌표에서 bfs 탐색 진행 탐색을 마친 좌표는 0으로 변경 from collections import deque import sys input = sys.stdin.readline dx = [0,0,1,-1] dy = [1,-1,0,0] t = int(input()) def bfs(graph, a, b): que..

코테준비/백준

[백준] 2502번: 떡 먹는 호랑이 - Python

링크: https://www.acmicpc.net/problem/2502 2502번: 떡 먹는 호랑이 첫줄에 첫 날에 준 떡의 개수 A를 출력하고 그 다음 둘째 줄에는 둘째 날에 준 떡의 개수 B를 출력한다. 이 문제에서 주어진 D, K에 대해서는 항상 정수 A, B (1≤ A ≤ B)가 존재한다. www.acmicpc.net 아이디어 첫째날 둘째날을 a, b로 두고 D와 K를 가지고 점화식을 만들어 보자 예) D가 4면 a, b, a+b, a+2b, 2a+3b, 3a+5b=> K=a+2b DP배열을 2차원배열로 만들어 a에 곱해지는 값과 b의 곱해지는 값을 저장함 구현 D, K = map(int, input().split()) d = [0] * 31 d[1] = (1,0) # 첫째날 1a + b d[2..

코테준비/프로그래머스

[프로그래머스] 숫자의 표현 - Python

링크:https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 당장 예시만 봐도 1~5까지 더하고 4~6 이런게 순서대로 더해보고있다. 단순 반복문 하나만 돌며 tmp에 1식 증가한 수를 더하며 n이 될 때마다 answer에 +1, tmp를 초기화 하는 방식을 써보자 조건에 반복문을 돌다 tmp가 n보다 커지면 더이상 조사할 이유가 없으니 break 구현 def solution(n): answer = 0 for i in range(1, n+1)..

코테준비/백준

[백준] 1629번: 곱셈 - Python

링크: https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 아이디어1 (시간초과) 일단 단순하게 b번 반복하며 a 곱하기 파이썬은 자동으로 동적할당이 되어 너무 큰 수가 나오면 메모리초과가 나올 수 있음 a를 곱하고 c로 바로바로 나눠주며 메모리초과 방지 import sys input= sys.stdin.readline a, b, c = map(int, input().split()) for i in range(b): a *= a a %= c print(a) 단순히 반복하는 로직은 답이 아닌듯 하다. 아이디어 2 ..

코테준비/프로그래머스

[프로그래머스] 단어 변환 - Python

링크: https://school.programmers.co.kr/learn/courses/30/lessons/43163?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 words에 target단어가 없는 경우 0 반환 첫 bfs를 시작할 시작 노드 찾기( begin에서 갈 수 있는 문자들) for문을 이용해 1번 조건을 만족하는 단어를 찾음 위와 같은 방식으로 그래프를 만들어 BFS를 진행 방문처리를 깊이 표현과 동시에 진행 target노드가 나오면 현재 노드의 깊이 출력 자료구조 Queue(BFS) 방문: int ..

코테준비/백준

[백준] 7576번: 토마토 - Python

링크: https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 아이디어 익은 토마토(1)의 좌표들를 q에 넣고 bfs 숨바꼭질과 동일하게 방문처리와 깊이 저장을 동시에 진행 (이건 토마토 배열 안에서 해도 될듯) 상하좌우 확인 0이면 1로 변경 후 큐에 넣기, 1이면 무시, -1이어도 무시 모든 토마토가 익었는지와 며칠이 걸렸는지는 배열을 돌며 확인 0인 부분이 있으면 -1출력 자료구조 토마토: int[][] Queue(BFS) 코드구..

예찬예찬
'코테준비' 카테고리의 글 목록 (8 Page)