전체 글

지식을 정리하고 공유하는 공간
백준[baekjoon]/Python

백준(baekjoon) [Python] - 2501번: 약수 구하기

https://www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net ## 약수 구하기 import sys n, k = map(int, sys.stdin.readline().split()) arr = [] for i in range(1, n + 1): if n % i == 0: arr.append(i) arr.sort() if len(arr) < k: print(0) else: print(arr[k - 1]) MEMO !! 알고있던 리스트 사용법 복습 !!

백준[baekjoon]/C언어

백준(baekjoon) [C] - 10773번: 제로

https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net #include // 제로 #include typedef struct { int* stk; int ptr; }STACK; int is_empty(STACK* s) { if (s->ptr ptr stk[s->ptr++] = num; *sum += num; } } void pop(STACK* s, int *sum) { if (!is_empty(s)) { *sum -=..

백준[baekjoon]/C언어

백준(baekjoon) [Python] - 11051번: 이항 계수 2

https://www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net #include // 이항 계수 2 int dp[1001][1001]; void nCr(int n, int r) { dp[1][1] = 1; dp[1][0] = 1; for (int i = 2; i

백준[baekjoon]/Python

백준(baekjoon) [Python] - 10798번: 세로읽기

https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net ## 세로읽기 import sys arr = [] for i in range(5): temp = sys.stdin.readline().strip() arr.append(temp) for i in range(15): for j in range(5): if i < len(arr[j]): print(arr[j][i], end = '') MEMO !! 2차원 리스트 연습하기 !!

백준[baekjoon]/Python

백준(baekjoon) [Python] - 25206번: 너의 평점은

https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net credit = {"A+":4.5, "A0":4.0, "B+":3.5, "B0":3.0, "C+":2.5, "C0":2.0, "D+":1.5, "D0":1.0, "F":0.0} sum1 = 0 sum2 = 0 for _ in range(20): a, b, c = input().split() b = float(b) if c != 'P': sum1 += b sum2 += b * credit[c] print..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 1835번: 카드

https://www.acmicpc.net/problem/1835 1835번: 카드 첫 번째 줄에 카드의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. www.acmicpc.net #include // 카드 #include typedef struct { struct node* next; struct node* prev; int data; }node; typedef struct { node* rear; node* front; }DEQUE; void init_DEQUE(DEQUE* dq) { dq->rear = dq->front = NULL; } int is_empty(DEQUE* dq) { if (dq->front == NULL) return 1; else return 0; } void push_rear..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 2589번: 보물섬

https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net #include // 보물섬 #include #include #define max(a, b) a > b ? a : b char graph[51][51]; int visit[51][51]; int dx[4] = { 0, 0, 1, -1 }; int dy[4] = { 1, -1, 0, 0 }; int ans = -1; typedef struct { int x; int y; struct node* next..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 2003번: 수들의 합 2

https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net #include // 수들의 합 2 int main() { int n, m; scanf("%d %d", &n, &m); int arr[10001] = { 0, }; for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } int cnt = 0; for (int i = 0; i < n; i++) { int j = i +..

백준[baekjoon]/Python

백준(baekjoon) [Python] - 10812번: 바구니 순서 바꾸기

https://www.acmicpc.net/problem/10812 10812번: 바구니 순서 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net ## 바구니 순서 바꾸기 import sys n, m = map(int, sys.stdin.readline().split()) arr = [i for i in range(1, n + 1)] for _ in range(m): i, j, k = map(int, sys.stdin.readline().split()) i, j, k = i - 1, j - 1, k - 1 arr = arr[:i..

백준[baekjoon]/Python

백준(baekjoon) [Python] - 10810번: 공 넣기

https://www.acmicpc.net/problem/10810 10810번: 공 넣기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 www.acmicpc.net ## 공 넣기 import sys n, m = map(int, sys.stdin.readline().split()) arr = [0 for _ in range(n + 1)] for _ in range(m): start, end, num = map(int, sys.stdin.readline().split()) for j in range(start, end + 1): arr[j] = num for ..

_KTH_
KTHYEONG