위상정렬이란 순서가 정해져 있는 작업을 수행할 때 그 순서를 결정하기 위한 알고리즘을 말한다.위상정렬을 적용하기 위한 조건은DAG(Direted Acyclic Graph) 즉, 사이클이 발생하지 않는 방향그래프에만 적용이 가능하다.DAG의 예시 두번째 그림처럼 순환이
문제를 처음 봤을 때 "사칙연산 규칙을 이용해서 풀어야하나"라는 걱정을 했지만 식의 계산은 연산자 우선 순위를 무시하고 앞에서부터 진행해야 한다라는 문제 내용을 봤을 때 예상외로 쉽게 접근 가능할 것 같다는 생각이 들었다.숫자 값 리스트에 저장연산자 개수 입력(더하기,
n개 종류의 값을 이용해서 k라는 수를 이용하는 전형적인 그리디 알고리즘 문제이다.위의 접근방법을 통해 코드를 만들어 보았다.pypy3를 통해 답안을 제출했을 때는 아슬아슬하게 통과했는데 python3를 통해 제출했을 때는 시간초과가 발생했다.구글링 및 혼자 생각을 해
동적 프로그래밍(Dynamic Programming)을 책으로 공부할 때 나온다는 대표적인 문제이다.(배낭에 넣을 물건들은 잘라서 넣을 수 없는 0-1 Knapsack 문제)문제에 대한 이해를 위해 가로 축 : 가방이 넣을 수 있는 무게(K까지)세로 축 : 넣어야하는
문제설명 운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다. >1. 실행 대기 큐(Queue)에서 대기중인 프로세스
[Programmers] PCCE 모의고사 1회 체육대회
양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n2 까지 정수를 인덱스 0부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.1 ≤ n ≤ 30대학생 때 선배들한테 풀어보라고 추천받았던 달팽이 배열 문