728x90 파이썬170 [BOJ/Python] 12865. 평범한 배낭 📌 문제 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 📌 문제 접근 방법 처음에는 가치가 큰 물건 별로 우선적으로 배낭에 넣는 방식으로 구현해보았으나 시간초과! 결국 구글링을 해보니 Knapsack Algorithm을 사용해야 하는 것이었다. 인덱스 에러가 나지 않도록 0번째 줄을 포함해서 2차원 배열을 생성한다. i 번째 물건을 가방에 넣었을 때 / 넣지 않았을 때의 최대 .. 2021. 10. 4. [Python] 진수 변환 10진수에서 변환 내장함수 사용 (bin, oct, hex) num = 19 print(bin(num)) # 2진수 print(oct(num)) # 8진수 print(hex(num)) # 16진수 # 0b10011 # 0o23 # 0x13 10진수로 변환 내장함수 사용 (int) print(int('0b10011', 2)) # 2진수 print(int('0o23', 8)) # 8진수 print(int('0x13', 16)) # 16진수 직접 함수로 만들어서 구현하기 def dec_to_base_x(num, base): result = [] while num: result.append(num%base) num //= base return ''.join(map(str, result[::-1])) num = .. 2021. 10. 3. [BOJ/Python] 20437. 문자열 게임 2 📌 문제 https://www.acmicpc.net/problem/20437 20437번: 문자열 게임 2 첫 번째 문자열에서 3번에서 구한 문자열은 aqua, 4번에서 구한 문자열은 raquator이다. 두 번째 문자열에서는 어떤 문자가 5개 포함된 문자열을 찾을 수 없으므로 -1을 출력한다. www.acmicpc.net 📌 문제 접근 방법 defaultdict 진짜 편하다! alpha = defaultdict(list) : 이런 식으로 괄호 안에 값의 초기값 형태를 지정해주면 된다! 딕셔너리의 키가 없어도 바로 값을 저장할 수 있다. 📌 코드 import sys from collections import defaultdict ''' superaquatornado 2 ''' def string_game.. 2021. 8. 28. [BOJ/Python] 17298. 오큰수 📌 문제 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 📌 문제 접근 방법 스택을 활용해서 풀이해보았다. 오큰수가 존재하지 않으면 -1을 입력하기 때문에 answer의 초기값을 -1로 설정했다. 스택에 값을 넣고 스택에 들어있는 값보다 큰 값이 들어오면 그 값보다 작은 값을 스택에서 모두 빼낸다. 예시로 수열 3 5 2 7 을 순회한다면, i = 0 / 수열의 해당 값 = 3 스택이 비어있으므로 3과 3의 인덱스를 각각 스택에 넣는다. 현재 answer.. 2021. 8. 28. 이전 1 ··· 23 24 25 26 27 28 29 ··· 43 다음 728x90