파이썬
-
다시 한 번 시작하기 전에 지난 포스팅에 이은 비정기 연재로 이를 이어나가보고자 한다. 이번에는 리스트에 대해 다루어볼 예정이다. 파이썬에서 두 리스트를 합치는 방법은 다양하다. 크게 다음과 같은 방식으로 이루어질 것이다. 함수를 통해 리스트 1에 리스트 2를 합치기 (extend) + 연산을 통해 리스트 1에 리스트 2를 합치기 (+=) 일일히 리스트 2의 원소를 리스트 1에 넣어주기 (append) 셋 모두 공통적으로 O(len(리스트2))의 시간복잡도를 갖지만, 우리는 지난 번 min vs. if 포스팅에서 파이썬의 함수 호출에 대한 오버로딩이 성능 저하를 보여주는 것을 실험을 통해 보인 적이 있다! 2023.05.08 - [CS/기타 정리] - [파이썬] Min vs. If, 좀 더 빠르게 (실행..
[파이썬] extend vs. append vs. opreator (리스트 연산 비교)다시 한 번 시작하기 전에 지난 포스팅에 이은 비정기 연재로 이를 이어나가보고자 한다. 이번에는 리스트에 대해 다루어볼 예정이다. 파이썬에서 두 리스트를 합치는 방법은 다양하다. 크게 다음과 같은 방식으로 이루어질 것이다. 함수를 통해 리스트 1에 리스트 2를 합치기 (extend) + 연산을 통해 리스트 1에 리스트 2를 합치기 (+=) 일일히 리스트 2의 원소를 리스트 1에 넣어주기 (append) 셋 모두 공통적으로 O(len(리스트2))의 시간복잡도를 갖지만, 우리는 지난 번 min vs. if 포스팅에서 파이썬의 함수 호출에 대한 오버로딩이 성능 저하를 보여주는 것을 실험을 통해 보인 적이 있다! 2023.05.08 - [CS/기타 정리] - [파이썬] Min vs. If, 좀 더 빠르게 (실행..
2023.05.24 -
Problem : https://www.acmicpc.net/problem/4256 Difficulty : Gold 2 Status : Solved Time : 00:13:02 문제 설명 더보기 이진 트리는 매우 중요한 기본 자료 구조이다. 아래 그림은 루트 노드가 유일한 이진 트리이다. 모든 노드는 최대 2개의 자식 노드를 가질 수 있으며, 왼쪽 자식이 순서가 먼저이다. 노드 n개로 이루어진 이진 트리를 BT라고 하자. BT의 노드는 1부터 n까지 유일한 번호가 매겨져 있다. 아래 그림에 나와있는 BT의 루트는 3번 노드이다. 1번 노드는 오른쪽 자식만 가지고 있고, 4와 7은 왼쪽 자식만 가지고 있다. 3과 6은 왼쪽과 오른쪽 자식을 모두 가지고 있다. 나머지 노드는 모두 자식이 없으며, 이러한 노드..
[백준/4256] 트리 (Python)Problem : https://www.acmicpc.net/problem/4256 Difficulty : Gold 2 Status : Solved Time : 00:13:02 문제 설명 더보기 이진 트리는 매우 중요한 기본 자료 구조이다. 아래 그림은 루트 노드가 유일한 이진 트리이다. 모든 노드는 최대 2개의 자식 노드를 가질 수 있으며, 왼쪽 자식이 순서가 먼저이다. 노드 n개로 이루어진 이진 트리를 BT라고 하자. BT의 노드는 1부터 n까지 유일한 번호가 매겨져 있다. 아래 그림에 나와있는 BT의 루트는 3번 노드이다. 1번 노드는 오른쪽 자식만 가지고 있고, 4와 7은 왼쪽 자식만 가지고 있다. 3과 6은 왼쪽과 오른쪽 자식을 모두 가지고 있다. 나머지 노드는 모두 자식이 없으며, 이러한 노드..
2023.05.24 -
Problem : https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net Difficulty : Silver 1 Status : Solved Time : 00:05:17 문제 설명 더보기 N×N 게임판에 수가 적혀져 있다. 이 게임의 목표는 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 점프를 해서 가는 것이다. 각 칸에 적혀있는 수는 현재 칸에서 갈 수 있는 거리를 의미한다. 반드시 오른쪽이나 아래쪽으로만 이동해야 한다. 0은..
[백준/1890] 점프 (Python)Problem : https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net Difficulty : Silver 1 Status : Solved Time : 00:05:17 문제 설명 더보기 N×N 게임판에 수가 적혀져 있다. 이 게임의 목표는 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 점프를 해서 가는 것이다. 각 칸에 적혀있는 수는 현재 칸에서 갈 수 있는 거리를 의미한다. 반드시 오른쪽이나 아래쪽으로만 이동해야 한다. 0은..
2023.05.23 -
Problem : https://www.acmicpc.net/problem/2234 2234번: 성곽 첫째 줄에 두 정수 N, M이 주어진다. 다음 M개의 줄에는 N개의 정수로 벽에 대한 정보가 주어진다. 벽에 대한 정보는 한 정수로 주어지는데, 서쪽에 벽이 있을 때는 1을, 북쪽에 벽이 있을 때는 2를, www.acmicpc.net Difficulty : Gold 3 Status : Solved Time : 00:12:38 문제 설명 더보기 대략 위의 그림과 같이 생긴 성곽이 있다. 굵은 선은 벽을 나타내고, 점선은 벽이 없어서 지나다닐 수 있는 통로를 나타낸다. 이러한 형태의 성의 지도를 입력받아서 다음을 계산하는 프로그램을 작성하시오. 1. 이 성에 있는 방의 개수 2. 가장 넓은 방의 넓이 3. ..
[백준/2234] 성곽 (Python)Problem : https://www.acmicpc.net/problem/2234 2234번: 성곽 첫째 줄에 두 정수 N, M이 주어진다. 다음 M개의 줄에는 N개의 정수로 벽에 대한 정보가 주어진다. 벽에 대한 정보는 한 정수로 주어지는데, 서쪽에 벽이 있을 때는 1을, 북쪽에 벽이 있을 때는 2를, www.acmicpc.net Difficulty : Gold 3 Status : Solved Time : 00:12:38 문제 설명 더보기 대략 위의 그림과 같이 생긴 성곽이 있다. 굵은 선은 벽을 나타내고, 점선은 벽이 없어서 지나다닐 수 있는 통로를 나타낸다. 이러한 형태의 성의 지도를 입력받아서 다음을 계산하는 프로그램을 작성하시오. 1. 이 성에 있는 방의 개수 2. 가장 넓은 방의 넓이 3. ..
2023.05.22 -
Problem : https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net Difficulty : Silver 1 Status : Solved Time : 00:04:08 문제 설명 더보기 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. ..
[백준/1926] 그림 (Python)Problem : https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net Difficulty : Silver 1 Status : Solved Time : 00:04:08 문제 설명 더보기 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. ..
2023.05.19 -
Problem : https://www.acmicpc.net/problem/1915 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net Difficulty : Gold 4 Status : Solved Time : 00:04:54 문제 설명 더보기 n×m의 0, 1로 된 배열이 있다. 이 배열에서 1로 된 가장 큰 정사각형의 크기를 구하는 프로그램을 작성하시오. 위와 같은 예제에서는 가운데의 2×2 배열이 가장 큰 정사각형이다. 입력 및 출력 더보기 입력 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. 출력 첫째 줄에..
[백준/1915] 가장 큰 정사각형 (python)Problem : https://www.acmicpc.net/problem/1915 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net Difficulty : Gold 4 Status : Solved Time : 00:04:54 문제 설명 더보기 n×m의 0, 1로 된 배열이 있다. 이 배열에서 1로 된 가장 큰 정사각형의 크기를 구하는 프로그램을 작성하시오. 위와 같은 예제에서는 가운데의 2×2 배열이 가장 큰 정사각형이다. 입력 및 출력 더보기 입력 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. 출력 첫째 줄에..
2023.05.19