728x90
반응형

백준 34

[백준][Python] 25304. 영수증

🙆‍♂️문제 🙋‍♂️풀이 물건 값들을 계산하여 영수증에 적힌 금액 x와 비교하면 됩니다. 🚀 입력받기 x = int(input()) n = int(input()) arr = [list(map(int,input().split())) for _ in range(n)] 영수증에 나온 값 x와 물건 수 n, 그리고 가격을 계산하기 위한 배열 arr을 선언합니다. 🚀 문제 풀이 핵심 total = 0 for i in range(n): total += arr[i][0]*arr[i][1] total값을 선언하고 for문을 이용해서 0번 상품의 가격(arr[0][0]) * 개수(arr[0][1])를 하여 물건 수 만큼 반복하여 더합니다. 🚀 출력하기 if x==total: print("Yes") else: print(..

[백준][Python] 3003. 킹, 퀸, 룩, 비숏, 나이트, 폰

🙆‍♂️문제 🙋‍♂️풀이 킹은 1개, 퀸도 1개, 룩은 2개, 비숍도 2개, 나이트도 2개, 폰 8개가 있어야 한다. 킹, 퀸, 룩, 비숍, 나이트, 폰에 대한 개수가 입력되면 정상적인 체스 수가 되려면 추가되야 할지 빼야할지에 대해 출력하면 된다. 🚀 입력받기 inputChess = list(map(int,input().split())) 먼저 chess라는 배열에 현재 체스말 수를 입력 받는다. 🚀 문제 풀이 핵심 stdChess = [1,1,2,2,2,8] outputChess =[] for i in range(6): num = stdChess[i]-inputChess[i] outputChess.append(num) 먼저 기준이 되는 stdChess 배열을 정의합니다. 그리고 for문을 사용하여 st..

[백준][Python] 25305. 커트라인

🙆‍♂️문제 🙋‍♂️풀이 점수들을 배열로 저장하고 내림차순으로 정렬하여 k-1번 째 값을 출력하면 커트라인이 출력됩니다. 🚀 입력받기 n,k = map(int,input().split()) scores = list(map(int,input().split())) 배열의 수 n과 커트라인 명 수 k를 입력받습니다. 그리고 점수 배열 scores를 입력 받습니다. 🚀 문제 풀이 핵심 scores.sort(reverse=True) scores 배열을 내림차순으로 정렬합니다. 🚀 출력하기 print(scores[k-1]) 커트라인에 걸린 점수를 출력합니다.

[백준][Python] 2108. 통계학

🙆‍♂️문제 🙋‍♂️풀이 문제 그대로 첫째 줄에는 산술평균(일반적인 평균)을 소수점 첫째 자리에서 반올림 둘째 줄에서는 중앙값 셋째 줄에서는 최빈값(가장 많이 나타나는 값) 넷째 줄에서는 범위(최대값 - 최소값)을 출력하면 됩니다. 🚀 입력받기 import sys n= int(sys.stdin.readline()) arr = [int(sys.stdin.readline()) for _ in range(n)] sys 라이브러리를 import하여 빠르게 입력받습니다. 🚀 산술평균 출력 average = round(sum(arr)/n) print(average) 평균은 구하기 쉽습니다. 모두 합한 값을 입력 갯수로 나누고 round함수를 통해 반올림 합니다. 🚀 중앙값 출력 arr.sort() mid = n//..

[백준][Python] 10989. 수 정렬하기 3

🙆‍♂️문제 🙋‍♂️풀이 이번 문제는 계수 정렬을 활용해서 푸는 문제입니다. 🚀 입력받기 import sys n= int(sys.stdin.readline()) arr = [int(sys.stdin.readline())for _ in range(n)] sys 라이브러리를 import 하여 더 빠르게 입력되어서 시간 초과가 되지 않도록 했습니다. 🚀 계수 정렬 def countSort(arr): length = len(arr) minNum = min(arr) maxNum = max(arr) #카운팅 배열 구하기 alpha = maxNum - minNum + 1 cntArr = [0]*alpha for i in arr: j = i - minNum cntArr[j]+=1 #누적 카운팅 배열 구하기 accArr..

[백준][Python] 2751. 수 정렬하기 2

🙆‍♂️문제 🙋‍♂️풀이 사실 그냥 sort함수를 사용해도 됩니다. 🚀 입력받기 import sys n= int(sys.stdin.readline()) arr = [int(sys.stdin.readline())for _ in range(n)] sys 라이브러리를 import 하여 더 빠르게 입력되어서 시간 초과가 되지 않도록 했습니다. 🚀 sort 함수 사용 arr.sort() 이렇게 배열 뒤에 .sort()를 해주면 해당 배열 값들이 오름차순으로 정렬됩니다. 🚀 출력하기 for i in arr: print(i) 반복문을 사용하여 배열의 요소들을 출력해줍니다.

[백준][Python] 2750. 수 정렬하기

🙆‍♂️문제 🙋‍♂️풀이 간단하게 버블정렬로 풀어보겠습니다. 🚀 입력받기 n= int(input()) arr = [int(input())for _ in range(n)] 숫자 개수인 n을 먼저 입력받고 n만큼의 요소를 갖고 있는 배열을 입력받습니다. 🚀 버블 정렬 def bubble(arr): for i in range(len(arr)-1): for j in range(i+1,len(arr)): if arr[i]>arr[j]: tmp = arr[i] arr[i]=arr[j] arr[j]=tmp return arr sortArr=bubble(arr) 버블 정렬 함수를 만들어서 함수 호출을 했습니다. 🚀 출력하기 for i in sortArr: print(i) 정렬된 배열을 for문을 사용하여 출력합니다.

[백준][Python] 1436. 영화감독 숌

🙆‍♂️문제 🙋‍♂️풀이 문제 요약 : 자연수 N을 입력받으면 숫자 666이 들어간 수 중 가장 작은 수부터 N번째로 작은 숫자를 출력하면 된다. 666이 첫 번째 1666이 두 번째... 🚀 입력받기 n=int(input()) 간단하게 숫자 하나를 입력받는다. 🚀 경우의 수 탐색 이 숫자에는 패턴이 있다. [0~9]666 다음은 [0]666[0~9],[1]666[0~9] ... 이런식으로 가다가 [0]666[0][0~9],[0]666[1][0~9] 이런식으로 패턴이 있다. 설명을 잘 못해가지구 코드를 보면 바로 이해가 되실겁니다. movie=[] for i in range(10): for j in range(10): for k in range(10): for q in range(10): case1=[i..

[백준][Python] 1018. 체스판 다시 칠하기

🙆‍♂️문제 🙋‍♂️풀이 약간 끔찍해보이지만 침착하게 문제 요약 : 먼저 체스판의 규격을 입력받습니다.그리고 체스판이 입력되는데 W와 B로 표현됩니다. 이 때 임의의 8x8 체스판을 뽑아 체스판 규칙에 맞지 않는 (다시 색을 칠해야 하는) 부분의 최소의 수를 구해야 합니다. 🚀 입력받기 n,m = map(int,input().split()) chess=[list(input()) for _ in range(n)] 먼저 체스판의 n x m 규격을 입력받습니다. 그리고 체스판의 모양을 입력받는데 2차원 리스트로 입력받습니다. 🚀 8x8 올바른 체스판 startW=[];startB=[] for i in range(8): startW.append([]) startB.append([]) for j in range(..

728x90
반응형