/images/jg_02.jpg

block_chain private Vs public / blockchain Vs network

🧔프라이빗 블록체인 VS 👨🏻‍🤝‍👨🏻퍼블릭 블록체인 VS

🔒프라이빗 네트워크 VS 🔐퍼블릭 네트워크

Why 이런 질문을?

블록체인 관련 정보를 구글링하다보면, 프라이빗 네트워크, 퍼블릭 네트워크, 프라이빗 블록체인, 퍼블릭 블록체인. 이 4가지의 말을 혼용해서 사용하고 있는 것을 쉽게 볼 수 있다. 여기서

SW Expert Academy_D3 4698, 1493, 10570, 3032

D3_4698_테네스의 특별한 소수

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
for T in range(int(input())):
    D, A, B = map(int, input().split())
    D = str(D)
    arr = [0, 0] + [1] * (B - 1)
    # 에라토스테네스의 체를 활용할껀데 어떤 수까지 검증하면 될까?
    # 검증해보니 모든 수는 자신의 int(root)까지만 확인하면 배수값인지 확인이 가능했다.
    rootB = int(B**0.5)							#👈 이 아이디어를 얻기까지 오랜시간이 걸렸다.

    for i in range(2, rootB+1):					#👈
        if arr[i] == 1:							#👈
            for j in range(2*i, B+1, i):		#👈 에라토스테네스의 체 를 활용
                arr[j] = 0						#👈

    result = []
    for i in range(A, B+1):
        if arr[i] == 1 and D in str(i):
            result.append(i)

    print(f'#{T+1} {len(result)}')

SW Expert Academy_D3 2817, 1491, 1229, 5515

D3_2817_부분 수열의 합

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import itertools

for T in range(int(input())):
    N, K = map(int, input().split())   # N: 갯수,   K: 목표 합
    Nums = list(map(int, input().split()))

    count = 0
    for i in range(1, N+1):
        boxs = itertools.combinations(Nums, i)
        for box in boxs:
            if sum(box) == K:
                count += 1

    print(count)

# 하... 라이브러리 쓰자..

D3_1491_원재의 벽 꾸미기

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
for T in range(int(input())):
    N, A, B = map(int, input().split())
    result = []
    for R in range(1, N+1):
        for C in range(1, R+1):
            if R * C > N:
                break
            elif R * C <= N:
                result.append(A * abs(R-C) + B * (N - R*C))
    print(f"#{T+1} {min(result)}")

# A X lR – Cl + B X (N - R X C)에서
# A X lR – Cl => 양수,   B X (N - R X C) => 양수 만 가능하다.
# 또 직사각형 인테리어라고해서 R != C 라고 생각했으나,,
# R = C인 경우도 넣어줘야 답이 나왔다.

SW Expert Academy_D3 10505, 10200, 3376, 5642

D3_10505_소득 불균형

1
2
3
4
5
6
7
8
9
for T in range(int(input())):
    N = int(input())
    dp = [0] * 100001
    Max = 0
    for i in list(map(int, input().split())):
        dp[i] += 1
        Max += i

    print(f'#{T+1} {sum(dp[:int(Max/N)+1])}')

D3_10200_구독자 전쟁

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
for T in range(int(input())):
    N, A, B = map(int, input().split())
    # 최소값 구하기
    if A+B >= N:
        Min = (A+B)-N
        if A >= B:
            Max = B
        else:
            Max = A
    else:
        Min = 0
        if A >= B:
            Max = B
        else:
            Max = A

    print(f'#{T+1} {Max} {Min}')

Block_Chain setting & basic

🎈가상환경에서 블록체인 채굴 및 기본 시스템 정리

1. geth(Go-ethereum) 설치

블록체인 기술은 중앙집중화된 데이터베이스에 반기를 들고 나온 개념이기 때문에 중앙 서버 이런게 없다. 즉 누구라도 해당 블록체인 네트워크에 참여하고 싶다면 언제라도 블록체인 데이터베이스를 싱크해주는 로컬 프로그램을 다운 받아 실행하면 데이터를 받을 수 있다.