본문 바로가기
반응형

파이썬33

[백준/Python] 17219번 비밀번호 찾기 문제 https://www.acmicpc.net/problem/17219 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 풀이 import sys N, M = map(int, input().split()) passwd = {} for i in range(N): a = sys.stdin.readline().rstrip().split() passwd[a[0]] = a[1] for i in range(M): a = sys.stdin.readline().rstrip() print(pass.. 2024. 2. 27.
[백준/Python] 9659번 돌 게임 5 문제 [백준/Python] 9659번 돌 게임 5 https://www.acmicpc.net/problem/9659 9659번: 돌 게임 5 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000,000,000) www.acmicpc.net 소스코드 n = int(input()) if n % 2 == 1: print('SK') else: print('CY') 게임을 계산해보면 n이 홀수일때는 상근(SK)이 승리하고, 짝수일때는 창영(CY)가 승리하는 패턴을 찾을 수 있습니다. 2024. 2. 22.
[백준 / Python] 7569번 토마토 문제 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 소스코드 #3차원 dfs / / replit.com from collections import deque # append():- This function is used to insert the value in its argument to the right end of the deque. # appendleft():- This function is used to inse.. 2024. 2. 17.
[백준 / Python] 1927번 최소 힙 문제 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 소스코드 import heapq import sys # 최소힙 문제 # heapq.heappush(heap, item) : item을 heap에 추가 # heapq.heappop(heap) : heap에서 가장 작은 원소를 pop & 리턴. 비어 있는 경우 IndexError가 호출됨. # heapq.heapify(x) : 리스트 x를 즉각적으로 heap으로 변환함 N =.. 2024. 2. 13.
[백준 / Python] 9625번 BABBA 문제 https://www.acmicpc.net/problem/9625 9625번: BABBA 상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했 www.acmicpc.net 소스 코드 a, b = 1, 0 n = int(input()) for i in range(n): a, b = b, a + b print(a, b) 간단한 규칙을 찾는 문제입니다. 2024. 2. 8.
[알고리즘 / 정렬] 병합정렬(merge sort) / 파이썬코드 병합정렬이란 합병정렬이라고도 불리는 병합정렬(merge sort)는 존 폰 노이만이 1945년도에 개발한 분할 정복을 기반으로 하는 정렬 알고리즘이다. 작동원리 1. 분할 (divide) 하나의 요소만을 가질때까지 입력 배열을 반으로 계속 분할한다. 2. 정복(conquer), 결합(merge) 2개의 하위배열을 정렬하며 병합하고 최종적으로 정렬된 배열을 완성한다. 시간복잡도 최선, 평균, 최악의 경우 O(n log n) 배열을 반으로 분할할때 log n 시간이 걸리고 각 레벨에서 n개의 요소를 비교하기때문 공간복잡도 O(n) 장단점 장점 최악의 경우에도 O(n log n)의 시간복잡도인 안정적인 정렬방법이다. 큰 데이터에 효율적이다. 단점 추가적인 메모리가 필요하다 (in-place 정렬이 아니다) 가.. 2024. 1. 1.
[백준 / Python] 30457번 단체줄넘기 문제 https://www.acmicpc.net/problem/30457 30457번: 단체줄넘기 $N$명의 학생들이 단체줄넘기를 하려고 한다. 단체줄넘기를 하기 위해서는 한 줄로 나란히 서야 하고, 학생들은 각자 줄을 잡은 양쪽 방향 중 한 곳을 바라보고 서야 한다. 학생들은 각자 바라보 www.acmicpc.net 코드 n = int(input()) data = list(map(int, input().split())) data.sort() data1 = [] data2 = [] i = 0 while True: if i == len(data): break data1.append(data[i]) i += 1 if i == len(data): break data2.append(data[i]) i += 1 .. 2023. 12. 17.
[백준 / Python] 17479번 정식당 문제 17479번 정식당 https://www.acmicpc.net/problem/17479 17479번: 정식당 일반메뉴는 noodle 2개로 20,000원, 특별메뉴는 cutlet 2개와 friedrice 1개로 32,000원, 둘이 합쳐 52,000원으로 서비스메뉴 하나를 주문할 수 있다. www.acmicpc.net 소스코드 # 특별메뉴는 일반메뉴에서 총 20,000원 이상을 주문해야 주문할 수 있다. # 서비스메뉴는 일반메뉴와 특별메뉴에서 총 50,000원 이상을 주문해야 주문할 수 있다. # 서비스메뉴는 단 하나만 주문할 수 있다. import sys A, B, C = map(int, sys.stdin.readline().split()) Ar = dict() Br = dict() Cr = se.. 2023. 12. 9.
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 0: invalid start byte 해결 [Python/CSV] UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 0: invalid start byte 위같은 에러가 뜰 경우입니다. 파이썬에서 한글이 포함된 csv 파일을 불러올때 유니코드에러가 발생할 수 있습니다. 해결방법 open함수 인자로 encoding = 'cp949'를 넣습니다. [ex] f = open("/aaaa.csv", encoding='cp949') open() 말고도 판다스의 read_csv()에서도 사용할 수 있습니다. 2023. 11. 28.
[백준 / Python] 2740번 행렬 곱셈 문제 https://www.acmicpc.net/problem/2740 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net 소스 코드 n, m = map(int, input().split()) A = list() for i in range(n): A.append(list(map(int, input().split()))) m, k = map(int, input().split()) B = list() for i in range(m): B.append(list(map(int, input().split.. 2023. 11. 9.
728x90
반응형