본문 바로가기

python43

[백준] [Python] #2309 일곱 난쟁이 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 보자마자 앗 이거 9개 중 7개 permutation하면 되자나~ 이러면서 신나게 제출했는데... import itertools arr = [] for _ in range(9): arr.append(int(input())) nPr = itertools.permutations(arr, 7) for n in nPr: if sum(n) 2021. 9. 24.
[백준] [Python] #11279 최대힙 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 여러가지 뻘 짓을 하다가 애초에 이 문제는 "Heap"인 것부터 파악이 부족하다고 느꼈다. 그래서 heap구조부터 다시 공부함... heap은 binary구조로 Min_heap과 Max_heap이 있다. - Min_heap : root에 Min값이 옴 - Max_heap : root에 Max값이 옴 이 문제에서 원하는건 Max_heap인데 파이썬에 기본적으로 제공되는 heapq.. 2021. 9. 23.
[백준] [Python] #10828 스택 오늘도 평화로운 알고리즘,,, 스택 정도야! First In Last Out 이제 안다 이거야~ 이정도는 금방이지~ n = int(input()) stack = [] def push(x): stack.append(x) def pop(): if len(stack) == 0: print(-1) else: print(stack.pop(-1)) def size(): print(len(stack)) def empty(): if len(stack) == 0: print(1) else: print(0) def top(): if len(stack) == 0: print(-1) else: print(stack[-1]) for _ in range(n): odr = list(map(str, input().split())) .. 2021. 9. 23.
[백준] [Python] #3460 이진수 1차 제출 n = int(input()) num = [] for i in range(n): num.append(int(input())) arr = [] for i in range(n): #num을 이진수로 나타내기 while(num[i]>1): if num[i]%2==0: arr.append(0) else: arr.append(1) num[i] = num[i]//2 arr.append(num[i]) #1의 위치 출력 for i in range(len(arr)): if arr[i] == 1: print(i, end=" ") #줄바꿈 print() #arr초기화 arr = [] 2차 제출 for _ in range(int(input())): n = int(input()) i = 0 while n >0: if.. 2021. 9. 23.
[백준] [Python] #10809 알파벳 찾기 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 정말 배움의 길은 멀고도 험하다... 분명 들어보고 저번 코테 준비할 때 써본 join함수인데 그치 배운걸 써야지 문명인이면...암... str = input() arr = [-1 for _ in range(26)] for i in range(len(str)): if arr[ord(str[i])-97] != -1 : continue arr[ord(str[i])-97] = i for i.. 2021. 9. 23.
[백준] [Python] #10818 최소,최대 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net python의 환상적인 라이브러리로 풀었다고 하기도 애매한 문제지만 format때매 기록! n = int(input()) a = list(map(int, input().split())) print(min(a), end=" ") print(max(a)) 시키는 대로 아주 순진하게 print...하공... 최대와 최소를 구하공.... 이런 코드 n = int(inp.. 2021. 9. 23.