일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- PHP
- sgd
- FastAPI
- 리뷰
- 우분투
- HTML
- C언어
- Python Challenge
- 딥러닝
- picoCTF
- 파이썬
- flag
- 백준
- Apache2
- PICO CTF
- 기울기
- CTF
- 순전파
- Python
- 코딩
- 책
- 신경망 학습
- 신경망
- 소프트맥스 함수
- AdaGrad
- 아파치
- PostgreSQL
- 역전파
- 설치
- 오차역전파법
- Today
- Total
목록Python (24)
Story of CowHacker
백준 동전 0이라는 문제를 풀어 봤다. 이 문제가 나한테는 설탕 배달 문제와 ATM문제가 섞인 느낌의 문제였다. 즉 앞에 두 문제를 이해하고 풀 수 있어야 하는 것 같았다. coins, price = map(int,input().split()) # 동전 종류 수와 가격을 띄어쓰기 기준으로 각각 입력 받는다. count = 0 # 구할려는 동전의 갯수다. priceslist = [] # 동전의 종류들을 담을 케이스다. countlist = [] # 구할려는 동전의 갯수를 담을 케이스다. ############################################## for _ in range(coins): # 동전 종류수 를 기준으로한 for문을 생성한다. prices = list(map(int,inp..
백준 문제 ATM을 풀어 볼려고 한다. 처음에 문제 이해 하기가 좀 햇갈렸다. 사람 순서, 시간 순서 이 두개가 너무나도 햇갈려하는 나였다. a = int(input()) # 처음 사람의 수를 a에 받아둔다. timelist = list(map(int, input().split())) # 사람마다 걸리는 시간들을 리스트로 한번에 받아둔다. s = 0 # 걸리는 시간을 합치기 위한 초기 값이다. slist = [] # 걸린 시간을 리스트에 담기위한 리스트다. while True: # while문의 무한루프를 생성한다. timelist = sorted(timelist) # 걸리는 시간들의 리스트를 오름차순으로 정렬시킨다. s += timelist[0] # 가장 작은 시간인 0번째 원소를 s에 더해나간다. s..
이번 글에서는 먼저 미분에 대해 알아볼 것이다. 미분 : 특정 순간의 변화량을 뜻한다. 그림 1은 미분을 수식으로 나타낸 것이다. 좌변은 x에 대한 f ( x )의 변화량을 나타내는 기호다. 결국, x의 작은 변화가 함수 f ( x )를 얼마나 변화시키느냐를 의미한다. 이때 시간을 뜻하는 h를 한없이 0에 가깝게 한다는 의미로 lim h->0로 나타낸다. 이제 위 미분을 파이썬으로 구현해보겠다. 미분 코드 def numerical_diff ( f, x ) : h = 1e-4 return ( f ( x + h ) - f ( x - h ) ) / ( 2 * h ) 함수 이름은 수치 미분을 뜻한다. 이 함수는 함수 f와 함수 f에 넘길 인수 x라는 두 인수를 받는 원리다. 그럼 이제 위 함수를 사용해 간단한 ..
백준 1000번 문제 A + B 문제를 풀어 볼것이다. 문제 요구 사항은 두개의 입력 값을 받아 그 입력값을 더한것을 출력 하라는 것이였다. 먼저 C언어로 풀어보겠다. 먼저 int형 a, b, c 변수 3개를 선언 했다. 그리고 scanf 로 입력을 두번 받았다. 각각 a, b 변수에 값을 들어가게 했다. 그리고 c 라는 변수에 a + b 한 결과값을 들어가게 했다. 마지막으로 그 값을 출력했다. 이제 파이썬으로 풀어보겠다. 파이썬으로는 split()를 써 한번에 입력 두번을 받게 만들었다. 각각 a, b 에 값을 넣고 print를 할때 a,b 를 int로 변환 후 더한 값을 출력 하게 했다.
이제 신경망의 추론 처리에 대해 알아 볼것이다. MNIST 데이터 셋을 가지고 추론을 수행하는 신경망을 구현해볼거다. 먼저 MNIST데이터에 대해 자세히 설명하자면 첫째 MNIST의 데이터셋은 0부터 9까지의 숫자 이미지로 구성된다. 둘째 MNIST의 이미지 데이터는 28 x 28 크기의 회색조 이미지다. 셋째 MNIST의 이미지 데이터의 각 픽셀은 0에서 255까지의 값을 취한다. 자, 이제 신경망의 추론을 수행해보자. 이 신경망은 입력층 뉴런을 784개, 출력층 뉴런을 10개로 구성한다. 입력층 뉴런이 784개인 이유는 이미지 크기가 28 x 28 = 784 이기 때문이다. 출력층 뉴런이 10개인 이유는 이문제가 0에서 9 까지의 숫자를 구분하는 것이기 때문이다. 은닉층은 총 두 개다. 첫 번째 은닉..
백준 10172번 문제를 풀어 볼것이다. #include int main(void) { printf('|\_/|') printf('|q p| /}') printf('( 0 )"""\ ') printf('|"^"` |') printf('||_/=\\\__|') } C언어로 풀어봤다. C언어에서 "" 안에 문자를 그대로 출력 할려면 출력할 문자 뒤에 \을 써줘야한다. 다음으로는 python으로 풀어보았다.
백준 10171번 문제를 풀어 볼 것이다. #include int main(void) { printf("\\ /\\\n"); printf(" ) ( ')\n"); printf("( / )\n"); printf(" \\(__)|\n"); } 먼저 C언어로 풀어봤다. C언어에서 \출력은 \\이렇게 두 개씩 써야 한다. print("\ /\\") print(" ) ( ')") print("( / )") print(" \(__)|") 다음은 python으로 풀어보았다.