Python

· CS/Algorithm
탐색 (Search) : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 그래프 탐색 : 하나의 노드를 시작으로 다수의 노드를 방문하는 것 ✓ 노드 (Node) = 정점(Vertex) : 특정 지점 ✓ 간선 (Edge) : 노드와 노드를 연결하는 선 그래프 표현 방법 1. 인접 행렬 (Adjacency Matrix) : 2차원 배열에 각 노드가 연결된 형태를 기록하는 방식 연결되지 않은 노드끼리는 '무한의 비용'이라고 작성한다. 모든 관계를 저장하기 때문에 노드 개수가 많을수록 메모리 측면에서 비효율적이다. 원하는 정보를 얻기 위해서 행렬의 해당 위치만 찾으면 되기 때문에 속도가 빠르다. ## 인접 행렬 방식 예제 INF = 999999999 # 연결되지 않은 노드에 대한 무한의 비용 ..
이번 포스팅 내용은 패스트캠퍼스 중, 이준희 강사님의 '자료구조 파트' 강의 내용을 정리한 것입니다. 스택 스택도 큐와 마찬가지로 LIFO, FILO 등의 여러 정책을 따른다. 가장 대표적으로 쓰이는 정책은 LIFO로, 좁은 상자에 블록을 쌓는 동작원리와 유사하다. 가장 밑바닥부터 블록을 차례로 쌓은 후, 다시 꺼낼 때는 가장 마지막에 넣은 블록부터 꺼낸다. 이와 유사하게, 스택은 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조이다. 스택의 기능 push() 스택에 데이터를 넣는 기능이다. pop() 스택에서 데이터를 꺼내는 기능이다. 그림으로 이해해보자. 스택의 특징 스택의 구조 프로세스의 함수 동작방식에서 스택이 사용된다. (프로세스 : 실행중인 프로그램) 스택의 장점 구조가 단순해서..
문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, 10,0..
문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 예시 입력 7 3 출력 나의 풀이 알고리즘 설계 n, k 입력받..
🔗 문제 링크 - 백준 10828. 스택 문제 단계 정답 여부 시간 제한 메모리 제한 🥈실버4 오답 0.5초 256MB 문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)..
🔎 문제 당신은 인사팀 직원으로, 각 직원의 근태를 확인하고자 한다. 당신의 회사는 자율출퇴근제를 실시하기 때문에 각 직원이 정확히 몇 시에 출근하는 것은 중요하지 않고, 총 근로 시간이 몇 분인지가 중요하다. 총 근로 시간이 법정근로시간을 초과하지 않아야 하면서, 회사와 직원 사이에 계약한 시간 이상이어야 하기 때문이다. 직원이 하루 동안 근무한 시간은 출근 시각과 퇴근 시각 사이의 시간으로 정의한다. 이 문제에서는 식사 시간 등 근무 외 시간을 근무 시간에서 제외하지 않음에 유의하라. 월요일부터 금요일까지 휴가를 쓰지 않은 직원이 매 요일 언제 출근하고 언제 퇴근했는지가 주어질 때, 이 직원이 5일 동안 총 몇 분을 근무했는지를 구하는 프로그램을 작성하라. 제약조건 직원은 밤을 새서 일하지 않았다. ..
상급닌자연습생
'Python' 태그의 글 목록