본문 바로가기

python/백준_프로그래머스

(9)
[프로그래머스] 완전 탐색-모음 사전. 근데 이제 수학을 곁들인 문제 https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def createScore(num): score = [1] for i in range(num-1): score.append(score[i]*num+1) score.reverse() return score def solution(word): score = [781,156,31,6,1] #score = createScore(5) # a,e,i,o,u answer = 0 alphaToNum..
[프로그래머스] 해시-의상 (python) 눈물나는 삽질쇼 녹k녹k 사진 출처: https://youtu.be/hh5KItacA-I?si=b7UUsEPTZZHrgDWJ 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 답안 def solution(clothes): answer = 1 c = dict() # 종류 별로 옷 분류 for cloth in clothes: if cloth[1] not in c: c[cloth[1]] = [cloth[0]] else: c[cloth[1]].append(cloth[0]) c_num = [len(value)+1 for value in list(c.values())] for c..
[백준 1100번] 하얀 칸 python과 eval 함수 https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net 2차원 리스트로 입력받아서 인덱스가 짝수일 때는 짝수칸 위에 F가 올라간 경우, 인덱스가 홀수 일 때는 홀수 칸 위에 F가 올라간 경우를 샌다. #입력 chess_board=[] for i in range(8): b=input() board=[] for i in b: #문자열 토큰화 board.append(i) chess_board.append(board) #연산 count=0 for i in ..
[백준 2039번] 일곱 난쟁이 python과 combinations https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net #입력 tall_list= [int(input()) for i in range(9)] tall_sum=0 #일곱 난쟁이의 키 합 for t in tall_list: tall_sum+=t tall_sum-=100 sum=0 flag=True; i=0 #연산 while(flag and i
[백준 1026번] 보물 python과 리스트 정리 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 입력 2개 리스트의 개수 N 입력 A의 리스트 N개 입력 입력 B의 리스트 N개 입력 출력 함수의 식이 가장 적게 나오는 A의 순서 (단, B는 재정렬 하면 안 됨) #입력 N=int(input()) A=list(map(int, input().split())) B=list(map(int, input().split())) A.sort() #정렬 #함수 S 구현 result=0 for i in..
[백준 11047번] 동전0(그리디 알고리즘) python https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 1. n(동전의 종류), k(동전의 합계) 입력 2. k원을 만드는데 필요한 동전의 최솟값 출력 #입력 n, k=map(int, input().split()) #동전의 종류(개수), 총합 count=0 #필요한 동전의 개수 unit = [int(input()) for _ in range(n)] #그리디 알고리즘 while(k>0): ..
[백준 1920번] 수 찾기(이진 탐색) python https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 1. 정수 n 입력 2. n개의 리스트 입력 3. 정수 m 입력 4. m개의 리스트 입력 5. m의 요소가 n에 포함되어 있으면 1, 아니면 0 출력 def binarySearch(target): left=0; right=n-1 while lefttarget: right=mid-1 elif n_list[mid]len(n_list)-1 or index..
[백준 2750번] 수 정렬하기 python https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 1. 정렬할 수의 개수 입력 2. 정렬할 수를 한줄씩 입력 3. 오름차순으로 정렬 4. 정렬한 수들을 한줄씩 출력 n=int(input()) num=0 num_list=[] for i in range(n): num=int(input()) num_list.append(num) num_list.sort() for i in num_list: print(i)