본문 바로가기
반응형

파이썬36

[백준 / Python] 1026번 보물 문제 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 소스코드 n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) a.sort() b.sort() b.reverse() s = [0] * (n + 2) for i in range(n): s[i] = a[i] * b[i] print(sum(s)) A[x1] * B[x1] + A[x2] .. 2023. 5. 12.
[백준 / Python] 1003번 피보나치 함수 문제https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.www.acmicpc.net코드import sys input = sys.stdin.readline T = int(input()) data0 = [0] * 45 data1 = [0] * 45 data0[0] = 1 data1[0] = 0 data0[1] = 0 data1[1] = 1 for i in range(2, 42): data0[i] = data0[i - 1] + data0[i - 2] data1[i] = data1[i - 1] + data1[i - 2] for _ in range(T): n = int(input()).. 2023. 5. 5.
[Python] 딕셔너리에서 제일 큰 value를 가진 key 찾기 간단하게 한 줄로 dictionary에서 가장 큰 value를 가진 key를 maxkey변수에 넣는 코드이다. maxkey = max(딕셔너리, key=딕셔너리.get) ex 만약 dic = { 'a' : 10, 'b' : 12, 'cv' : 11} 이라면 딕셔너리에서 가장 큰 값을 가지는 키는 'b'일 것이다. 2023. 4. 25.
[백준 / Python] 23843번 콘센트 https://www.acmicpc.net/problem/23843 23843번: 콘센트 광재는 전자기기 대여사업을 시작했다. 퇴근하기 전에 다음날 손님들에게 빌려줄 N개의 전자기기를 충전하려 한다. 사용 가능한 콘센트는 M개가 있고, 성능은 모두 동일하다. 전자기기들은 한 www.acmicpc.net 풀이 import sys import heapq # heapq.heappush(heap, item) : item을 heap에 추가 # heapq.heappop(heap) : heap에서 가장 작은 원소를 pop & 리턴. 비어 있는 경우 IndexError가 호출됨. # heapq.heapify(x) : 리스트 x를 즉각적으로 heap으로 변환함 N, M = map(int, input().split()) .. 2023. 3. 12.
[백준 / Python] 1780번 종이의 개수 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 풀이 n = int(input()) paper = [list(map(int, input().split())) for _ in range(n)] # print(paper) answer = [0, 0, 0] # -1 0 1 def cntPaper(x, y, m): cknum = paper[y][x] ck = True ########### m이 1이면 answer올리고 끝 if m == 1:.. 2023. 3. 1.
[백준 / Python] 10816번 숫자카드 2 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net n = int(input()) nlist = list(map(int, input().split())) m = int(input()) mlist = list(map(int, input().split())) dic = {} for i in nlist: if i in dic: dic[i] = dic[i] + 1 else: dic[i] = 1 for i in mli.. 2023. 2. 13.
[백준 / Python] 27277번 장기자랑 문제 즐거운 설날을 맞아 부대 장기자랑 행사가 개최된다! 이 행사는 한 번에 한 명씩 순서대로 공연하는 형식으로 진행된다. 장기자랑 행사의 총관리자는 공연하는 병사들의 장기자랑 실력을 토대로 행사를 준비하던 중, 아무래도 앞에 공연한 사람이 너무 잘하면 뒤에 공연하는 사람이 부담감을 느껴 본 실력을 발휘하지 못할 것이라는 고민을 하게 되었다. 이에 총관리자는 각 병사의 장기자랑 실력을 순서대로 $a_1, a_2, \cdots, a_n$이라고 할 때, $2\leq i\leq N$에 대하여 $i$번째 공연자는 실력을 $\max\left(0,a_i-a_{i-1}\right)$만큼만 발휘할 수 있을 것이라는 가설을 세웠다. 이때, 가장 먼저 공연하는 병사는 본인의 실력을 그대로 발휘할 수 있다. 위 가설에 따라.. 2023. 2. 5.
[백준 / Python] 16953번 A → B 백준 16953 [ A → B ] 문제 python 풀이 문제 정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다. 2를 곱한다. 1을 수의 가장 오른쪽에 추가한다. A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자. 입력 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. 출력 A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다. 예제 입력 출력 2 162 5 4 42 -1 1000 40021 5 from collections import deque A, B = map(int, input().split()) # A를 B로만들기 # 1. 2를곱하거나 # 2. 숫자 뒷 자리에 1을 추가 (숫자 * 10 + 1) qu.. 2023. 1. 11.
[Python] sys.setrecursionlimit() / 재귀 깊이 제한 설정 기본으로 설정된 파이썬의 재귀 깊이 제한은 1000입니다.이때 프로그램을 실행하여 재귀 깊이가 1000을 넘으면 런타임에러 중 RecursionError가 발생합니다.파이썬의 재귀 깊이 제한을 늘리기위해서는 다음과 같은 코드를 작성하면 됩니다. import syssys.setrecursionlimit(100000)..[ 이어서 코드 작성 ]..위 코드를 작성하면 재귀 깊이 제한이 100000으로 확장됩니다. 재귀를 해야하는 ps나 서비스가 있다면 sys.setrecursionlimit를 알아놓으면 좋습니다.  sys.setrecursionlimit(10 ** 9) 처럼도 많이 사용합니다.   sys.setrecursionlimit 공식문서https://docs.python.org/ko/3/library/.. 2022. 9. 18.
python으로 http 응답 코드 받기 (예제) urllib를 이용하여 http 응답 코드를 받는 예제입니다. import urllib.request url = "https://dinae.tistory.com" res = urllib.request.urlopen(url) print(res.status) 2022. 5. 30.
728x90
반응형