전체 글

전체 글

    [백준 2580번-파이썬] 스도쿠

    http://acmicpc.net/problem/2580 {코드} import sys board = [list(map(int, input().split())) for _ in range(9)] zeros = [(i, j) for i in range(9) for j in range(9) if board[i][j] == 0] def get_possibles(r, c): possibles = set(range(1, 10)) possibles -= set(board[r]) test = set() for i in range(9): test.add(board[i][c]) possibles -= test test = set() for i in range(r//3*3, r//3*3+3): for j in range(c..

    [백준 1062번-파이썬/Python] 가르침

    http://acmicpc.net/problem/1062 {코드} from itertools import combinations n, k = map(int, input().split()) if k < 5: print(0) else: k -= 5 nece_chars = {'a', 'n', 't', 'i', 'c'} input_chars = [] alpha = {ky: v for v, ky in enumerate( (set(map(chr, range(ord('a'), ord('z')+1))) - nece_chars))} cnt = 0 for _ in range(n): tmp = 0 for c in set(input())-nece_chars: tmp |= (1

    블록체인 기초 개념

    블록체인이란? 블록체인이란 데이터를 나누어 저장하는 데이터 분산 처리 기술입니다. 데이터를 특정 블록으로 나누고 이 블록들을 차례로 연결되어 사슬 구조를 가지게 되는 것이죠. 한 네트워크 상의 모든 사용자가 이 블록의 사슬, 즉 블록체인을 가지고 있으므로 특정 데이터를 위조하거나 조작하는 것이 거의 불가능합니다. (이 네트워크의 대표적 예로 비트코인과 같은 암호 화폐가 있습니다. 비트코인 채굴자와 소비자들 모두 비트코인 네트워크에 연결된 것입니다.) 왜 등장했나? 블록체인은 한마디로 정의하면 장부입니다. 즉, 금융거래에 사용되기 위해 만들어졌다고 보면 되는데, 그럼 왜 현재의 거래 방식과 다른 방법을 만들었을까요? 그 이유는 중앙화때문입니다. 현재 금융거래는 은행과 같은 중앙 기관에서 모든 거래 내역을 ..

    [백준 19942번-파이썬] 다이어트

    http://acmicpc.net/problem/19942 {코드} def calculate(do, picked, pick_sum): global chosen, tot_prc if pick_sum[4] >= tot_prc: return for i in range(4): if req_nut[i] > pick_sum[i]: break else: chosen = picked.copy() tot_prc = pick_sum[4] return if do == n: return picked.append(do+1) for i in range(5): pick_sum[i] += nuts[do][i] calculate(do+1, picked, pick_sum) picked.pop() for i in range(5): pic..

    [백준 19941번-파이썬] 햄버거 분배

    http://acmicpc.net/problem/19941 {코드} n, k = map(int, input().split()) placement = list(input()) ans = 0 for idx in range(n): if placement[idx] == 'P': for i in range(max(idx-k, 0), min(idx+k+1, n)): if placement[i] == 'H': placement[i] = 0 ans += 1 break print(ans) {설명} 이 문제는 간단히 사람의 위치에서 양쪽으로 k의 범위(±k)에서 가장 왼쪽에 있는 햄버거를 고르면 되는 문제입니다. 가장 왼쪽을 고르는 이유는 맨 마지막 위치에 사람이 있다면 그 사람은 왼쪽에서만 햄버거를 찾아야하기 때문에 최..

    [백준 10866번-C++] 덱

    http://acmicpc.net/problem/10866 {코드} #include #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, tmp; deque dq; string op; cin >> n; while (n--) { cin >> op; if (op == "push_front") { cin >> tmp; dq.push_front(tmp); } else if (op == "push_back") { cin >> tmp; dq.push_back(tmp); } else if (op == "pop_front") { if (dq.empty()) cout

    [백준 10845번-C++] 큐

    http://acmicpc.net/problem/10845 {코드} #include #include #include using namespace std; int main() { queue q; string ip; int tmp, n; scanf("%d", &n); while (n--) { cin >> ip; if (ip == "pop") { if (!q.empty()) { printf("%d\n", q.front()); q.pop(); } else { printf("-1\n"); } } else if (ip == "size") { printf("%d\n", q.size()); } else if (ip == "empty") { if (!q.empty()) { printf("0\n"); } else { pr..

    [백준 1158번-C++] 요세푸스 문제

    http://acmicpc.net/problem/1158 {코드} #include #include using namespace std; int main() { int n, k, tmp; scanf("%d %d", &n, &k); queue q; for (int i = 1; i