일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 데이터마이닝
- 문제풀이
- 정렬
- DP알고리즘
- 다이나믹프로그래밍
- 그리디알고리즘
- 자료구조
- Datastructure
- 알고리즘
- 파이썬
- 코테
- DFS
- 그래프탐색
- solvedac
- 수학
- 코딩테스트
- 반복문
- 그래프
- 너비우선탐색
- Baekjoon
- 그리디
- greedy
- BFS
- dp
- 백준
- 문자열
- 큐
- 프로그래머스
- PYTHON
- 깊이우선탐색
- Today
- Total
목록파이썬 (42)
nyunu

https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 코드 구현 ) https://github.com/nyunu/BaekJoon/blob/main/11724.ipynb [ 문제 ] 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤..

💡 그래프 탐색 하나의 노드에서 시작하여 노드와 연결된 모든 정점들을 한 번씩 방문하는 것 💡 DFS (깊이 우선 탐색) DFS는 이름 그대로 깊이를 우선으로 탐색하는 방법이다. 전회 순회라고도 할 수 있는데 쉽게 말하면 아래 그림처럼, "루트 노드 -> 왼쪽 서브트리 -> 오른쪽 서브트리" 순으로 방문하는 방식이다. 그리고 이 과정이 재귀적으로 반복된다고 이해하면 된다. 왼쪽 서브트리에 방문하면 왼쪽 서브트리에서는 왼쪽 서브트리의 루트 노드를 먼저 방문하고 그 루트 노드의 왼쪽 서브트리 -> 오른쪽 서브트리를 방문하는 방식이다. 예시를 통해 더욱 쉽게 이해할 수 있는데, 만약 그래프가 위와 같다고 하면 DFS의 순회 순서는 0 - 1 - 2 - 3 - 4 - 5가 된다. 루트 노드의 0 방문 0이 루트..

https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 확인 ) https://github.com/nyunu/BaekJoon/blob/main/11724.ipynb [문제] 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. [입력] 첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. [출력] 첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번..
[문제] 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임으로 다음의 게임 룰을 지켜야 한다. 숫자가 쓰인 카드들이 N x M 형태로 놓여 있다. 이때, N은 행의 개수를 의미하며, M은 열의 개수를 의미한다. 먼저 뽑고자 하는 카드가 포함되어 있는 행을 선택한다. 그다음 선택된 행에 포함된 카드들 중 가장 숫자가 낮은 카드를 뽑아야 한다. 따라서, 처음에 카드를 골라낼 행을 선택할 때, 이후에 해당 행에서 가장 숫자가 낮은 카드를 뽑을 것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 한다. [입력 조건] 첫째 줄에 숫자 카드들이 놓인 행의 개수 N과 열의 개수 M이 공백을 기준으로 하여 각각 자연수로 주어진다. (1

[문제] 큰 수의 법칙이란 다양한 수로 이루어진 배열이 있을 때, 주어진 수를 M번 더하여 가장 큰 수를 만드는 법칙이다. 단, 배열의 특정한 인덱스(번호)에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다. 예를 들어, 2, 4, 5, 6으로 이루어진 배열이 있을 때, M이 8이고 K가 3이라고 가정하자. 이경우 특정한 인덱스의 수가 최대 세 번까지 더해질 수 있으므로, 큰 수의 법칙에 따른 결과는 6 + 6 + 6 + 5 + 6 + 6 + 6 + 5인 46이 된다. 서로 다른 인덱스에 해당하는 수가 같은 경우에도 서로 다른 것으로 간주한다. 순서대로 3, 4, 3, 4, 3으로 이루어진 배열이 있을 때 M이 7이고, K가 2라고 가정하자. 이 경우 두번째 원소에 해당하..

https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net [문제] n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. [입력] 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이..

https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net [문제] 언제나 최고만을 지향하는 굴지의 대기업 진영 주식회사가 신규 사원 채용을 실시한다. 인재 선발 시험은 1차 서류심사와 2차 면접시험으로 이루어진다. 최고만을 지향한다는 기업의 이념에 따라 그들은 최고의 인재들만을 사원으로 선발하고 싶어 한다. 그래서 진영 주식회사는, 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어..

https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net [문제] 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. 예를 들어 S=0001100 일 때, 전체를 뒤집으면 1110011이 된다. 4번째 문자부터 5번째 문자까지 뒤집..