일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 기울기
- CTF
- 설치
- AdaGrad
- Apache2
- PostgreSQL
- 우분투
- 파이썬
- 책
- 아파치
- 순전파
- 오차역전파법
- picoCTF
- 리뷰
- C언어
- 신경망 학습
- Python Challenge
- 백준
- 딥러닝
- PHP
- flag
- sgd
- 역전파
- 코딩
- HTML
- 소프트맥스 함수
- PICO CTF
- FastAPI
- 신경망
- Python
- Today
- Total
목록공부/백준 (19)
Story of CowHacker
백준 1541번 잃어버린 괄호를 풀어봤다. 내가 이 문제를 풀 때 + 와 - 기준으로 끊어 입력을 받는 것을 구현하기 익숙하지 않았다. sic = input().split('-') # -를 기준으로 식값을 받는다. number = 0 # 답의 처음값 0을 선언한다. for _ in sic[0].split('+'): # +를 기준으로 끊어 나온 원소를 for문에 넣는다. number += int(_) # for문에 들어온 원소를 하나하나 답의 처음값에 넣는다. for _ in sic[1:]: # +를 기준으로 뒤에 나온 원소를 for문에 넣는다. for _2 in _.split('+'): # 뒤를 기준으로 한 곳에서 +를 기준으로 끊어 for문에 넣는다. number -= int(_2) # for문에 들어..
백준 2217번 로프를 풀어봤다. 이번 문제를 문제 이해를 하는데 조금 시간이 걸렸다. 무슨 말인지 싶었다. 예를 하나 보고는 바로 이해됐다. 예) 로프 개수 : 5 로프가 버틸 수 있는 최대 중량 : 20 10 30 40 5 이런 상황일 때 [ 20, 10, 30, 40, 5 ] 첫 번째 로프 최대 중량 20인 로프는 앞의 로프 2개를 추가적으로 쓸수 있다. ( 최대중량 10과 5인 로프는 중량 20을 들 수 없다. ) -> 20 * 3 = 60 두 번째 로프 최대 중량 10인 로프는 남은 로프 중 3개를 추가적으로 쓸 수 있다. -> 10 * 4 = 40 세 번째 로프 최대 중량 30인 로프는 남은 로프 중 1개를 추가적으로 쓸 수 있다. -> 30 * 2 = 60 네 번째 로프 최대 중량 40인 로..
백준 5585번의 거스름돈을 풀어봤다. cash = int(input()) # 지불할 금액이다. count = 0 # 동전의 갯수를 확인하는 역할을 한다. coin = 1000 - cash # 거슬러 줘야할 금액이다. while True: # while문의 무한 루프다. if coin >= 500: # 거스름돈이 500보다 크거나 같을 때 진입한다. count += 1 # 동전 갯수를 하나 올린다. coin -= 500 # 지불 금액에서 500을 뺀다. if coin = 100: # 거스름돈이 500보다 작고 100보다 크거나 같을 때 진입한다. count += 1 # 동전 갯수를 하나 올린다. coin -= 100 # 지불 금액에서 100을 뺀다. if coin < 100 ..
백준 동전 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..
백준 설탕 배달 문제를 풀어봤다. a = int(input()) #가져갈 설탕 kg 수다. count = 0 # 가져갈 설탕 총 갯수다. while True: # while문 무한루프를 생성한다. if a % 5 == 0: # 설탕의 kg수가 5로 나누었을때 나머지가 0이면 if 진입한다. s = a // 5 # 가져갈 설탕 kg수 나누기 5를 한수를 s에 넣는다. count = count + s # 가져갈 설탕 총 갯수에 s 값을 더한다. print(count) # 가져갈 설탕 총 갯수를 출력한다. break # 출력후 while문 무한루프를 중지한다. a -= 3 # 가져갈 설탕 kg수 에서 3 ( kg ) 을 뺀다. count += 1 # 여기에 도달할시 가져갈 설탕의 총 갯수를 1개 올린다. if..
백준 1000번 문제 A + B 문제를 풀어 볼것이다. 문제 요구 사항은 두개의 입력 값을 받아 그 입력값을 더한것을 출력 하라는 것이였다. 먼저 C언어로 풀어보겠다. 먼저 int형 a, b, c 변수 3개를 선언 했다. 그리고 scanf 로 입력을 두번 받았다. 각각 a, b 변수에 값을 들어가게 했다. 그리고 c 라는 변수에 a + b 한 결과값을 들어가게 했다. 마지막으로 그 값을 출력했다. 이제 파이썬으로 풀어보겠다. 파이썬으로는 split()를 써 한번에 입력 두번을 받게 만들었다. 각각 a, b 에 값을 넣고 print를 할때 a,b 를 int로 변환 후 더한 값을 출력 하게 했다.