본문 바로가기

Algorithm

(129)
양과 늑대 (92243번) - 프로그래머스 (Programmers) https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 - 양과 늑대 (92243번) 난이도 : Lv.3 알고리즘 : DFS (Depth First Search) 풀이 소요 시간 : 120분 기출 : 2022 KAKAO BLIND RECRUITMENT def solution(info: list, edges: list) -> int: def dfs(pn: int, sheep: int, wolf: int, an_list: set): nonlo..
요격 시스템 (181188번) - 프로그래머스 (Programmers) https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 - 요격 시스템 (181188번) 난이도 : Lv.2 알고리즘 : sorting 풀이 소요 시간 : 15 mins def solution(targets): targets.sort() cnt = 0 cur = targets[0][1] for s, e in targets[1:]: if cur
RGB거리 2 (17404번) - 백준 (BOJ) https://www.acmicpc.net/problem/17404 17404번: RGB거리 2 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 백준 - RGB거리 2 (17404번) 난이도 : Gold 4 알고리즘 : Dynamic Programming 풀이 소요 시간 : 60분 import sys input = sys.stdin.readline def main(N): INF = (N+1) * 1000 R, G, B = map(int, input().split()) R2, G2, B2 = map(int, in..
마법사 상어와 비바라기 (21610번) - 백준 (BOJ) https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 백준 - 마법사 상어와 비바라기 (21610번) 난이도 : Gold 5 알고리즘 : Simulation 풀이 소요 시간 : 35분 문제집 : 삼성 SW 역량 테스트 기출 문제 import sys input = sys.stdin.readline def main(): clouds = {(N-1, 0), (N-1, 1), (N-2, 0), (N-2, 1)} for _ in range(M): d,..
이차원 배열과 연산 (17140번) - 백준 (BOJ) https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 백준 - 이차원 배열과 연산 (17140번) 난이도 : Gold 4 알고리즘 : Simulation 풀이 소요 시간 : 60분 import sys input = sys.stdin.readline def main(r, c, k): A = [list(map(int, input().split())) for _ in range(3)] r -= 1; c -= 1 cnt = 0 while len..
동전 1 (2293번) - 백준 (BOJ) https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 백준 - 동전 1 (2293번) 난이도 : Gold 5 알고리즘 : Dynamic Programming 풀이 소요 시간 : 60분 import sys input = sys.stdin.readline if __name__ == '__main__': n, k = map(int, input().split()) memo = [0] * (k+1) memo[0] = 1 for _ in range(n): coi..
1, 2, 3 더하기 4 (15989번) - 백준 (BOJ) https://www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 www.acmicpc.net 백준 - 1, 2, 3 더하기 4 (15989번) 난이도 : Silver 1 알고리즘 : Mathematics, Simulation, (Dynamic Programming) 풀이 소요 시간 : 60분 import sys input = sys.stdin.readline def count_cases(n): if n >1) + 1 answe..
등대 (133500번) - 프로그래머스 (Programmers) https://school.programmers.co.kr/learn/courses/30/lessons/133500 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 - 등대 (133500번) 난이도 : Lv 3 알고리즘 : Dynamic Programming (on Trees), Depth Fisrt Search (DFS) 풀이 소요 시간 : 40분 import sys sys.setrecursionlimit(pow(10, 9)) def solution(n, lighthouse): def dfs(parent, node): _on = _off = ..