본문 바로가기

전체 글

(178)
가스관 (2931번) - 백준 (BOJ) https://www.acmicpc.net/problem/2931 2931번: 가스관 www.acmicpc.net 백준 - 가스관 (CIJEVI) (2931번) 난이도 : Gold 3 알고리즘&자료구조 : Simulation (구현) ★ 핵심 Idea ★ M에서 출발해서 파이프를 쭉 따라가며 중간에 끊긴 좌표를 찾고, 그 좌표의 상하좌우를 확인하면서 알맞은 모양의 파이프를 찾는다. import sys input = sys.stdin.readline class Pipe(): def __init__(self, R, C): self.R, self.C = R, C dd = [[-1, 0, 1, 0], [0, 1, 0, -1]] mapping = {0: 2, 1: 3, 2: 0, 3: 1} r,..
풍선 (4716번) - 백준 (BOJ) https://www.acmicpc.net/problem/4716 4716번: 풍선 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 팀의 수 N(1 ≤ N ≤ 1,000)과 방 A와 B에 보관되어있는 풍선의 수 A, B가 주어진다. (0 ≤ A, B ≤ 10,000) 다음 N개 www.acmicpc.net 백준 - 풍선 (Balloons) (4716번) 난이도 : Gold 1 알고리즘&자료구조 : Greedy (그리디) & Sorting (정렬) 시간복잡도(Time Complexity) : O( N*logN ) import sys input = sys.stdin.readline class Room(): def __init__(self, balloons)..
연료 채우기 (1826번) - 백준 (BOJ) https://www.acmicpc.net/problem/1826 1826번: 연료 채우기 첫째 줄에 주유소의 개수 N(1 ≤ N ≤ 10,000)가 주어지고 두 번째 줄부터 N+1번째 줄 까지 주유소의 정보가 주어진다. 주유소의 정보는 두개의 정수 a,b로 이루어 져 있는데 a(1 ≤ a ≤ 1,000,000)는 성경 www.acmicpc.net 백준 - 연료 채우기 (Expedition) (1700번) 난이도 : Gold 2 알고리즘&자료구조 : Priority Queue (우선순위 큐) & Greedy (그리디) 시간복잡도(Time Complexity) : O( N*logN ) import sys input = sys.stdin.readline from heapq import he..
멀티탭 스케줄링 (1700번) - 백준 (BOJ) https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 백준 - 멀티탭 스케줄링 (1700번) 난이도 : Gold 1 알고리즘&자료구조 : Greedy (그리디) 시간복잡도(Time Complexity) : O( N*K ) class Extension(): def __init__(self, N, K): if K
통나무 자르기 (1114번) - 백준 (BOJ) https://www.acmicpc.net/problem/1114 1114번: 통나무 자르기 첫째 줄에 두 개의 수를 출력한다. 첫 번째 수는 가장 긴 조각의 길이이고, 두 번째 수는 그 때 처음 자르는 위치를 출력한다. 만약 가능한 것이 여러 가지라면, 처음 자르는 위치가 작은 것을 출 www.acmicpc.net 백준 - 통나무 자르기 (1114번) 난이도 : Gold 1 알고리즘&자료구조 : Parametric Search (파라메트릭 서치) & Sorting (정렬) 시간복잡도(Time Complexity) : O( K * logK ) 파라메트릭 서치를 적절히 활용해서 풀 수 있는 문제이다. class Log(): def __init__(self, L, K, C): acc = s..
컵라면 (1781번) - 백준 (BOJ) https://www.acmicpc.net/problem/1781 1781번: 컵라면 상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라 www.acmicpc.net 백준 - 컵라면 (1781번) 난이도 : Gold 2 알고리즘&자료구조 : Priority Queue (우선순위 큐) & Sorting (정렬) 시간복잡도(Time Complexity) : O( N * logN ) 정렬과 우선순위 큐를 적절히 활용해서 풀 수 있는 문제이다. import sys input = sys.stdin.readline from heapq import heappop,..
가사 검색 (60060번) - 프로그래머스 (Programmers) https://school.programmers.co.kr/learn/courses/30/lessons/60060 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 - 가사 검색 (60060번) 난이도 : Lv 4 Time Complexity : O( 문자열 전체 길이 ) 알고리즘&자료구조 : Trie (트라이) 2020 KAKAO BLIND RECRUITMENT 기출문제이다. Trie를 적용해서 풀었는데, queries로 Trie를 만들고 words로 확인하니까 효율성 테케 1, 3번을 통과하지 못했다. 결국 words로 Trie를 만들고, q..
놀이 공원 (1561번) - 백준 (BOJ) https://www.acmicpc.net/problem/1561 1561번: 놀이 공원 첫째 줄에 N(1 ≤ N ≤ 2,000,000,000)과 M(1 ≤ M ≤ 10,000)이 빈칸을 사이에 두고 주어진다. 둘째 줄에는 각 놀이기구의 운행 시간을 나타내는 M개의 자연수가 순서대로 주어진다. 운행 시간은 1 이상 30 www.acmicpc.net 백준 - 놀이 공원 (LUNA) (1561번) 난이도 : Gold 2 알고리즘&자료구조 : Parametric Search (파라메트릭 서치) & Binary Search (이진 탐색) 시간복잡도(Time Complexity) : O( M * logN ) class Luna(): def __init__(self, N, M, arr): if N..