728x90

알고리즘 36

[python] 2072. 홀수만 더하기 D1

출저 : https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QSEhaA5sDFAUq&categoryId=AV5QSEhaA5sDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=1&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1 2 3 4 5 6 7 8 9 10 11 12 13 T = int(input()) for tc in ran..

알고리즘/SWAE 2022.08.10

[ 프로그래머스 ] 2020 카카오 - 자물쇠와 열쇠

출저 : https://programmers.co.kr/learn/courses/30/lessons/60059?language=python3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 # 회전 시키기 (+ 90 위치 변경) def roll(lst): n = len(lst) change_pan = [[0]*n for _ in range(n)] for i in range(n): for j in range(n): change_pan[j][n-1-i] = lst[i][j] return change_pan # 잠금 해제 가능 체크 d..

알고리즘 2021.10.13

[ 프로그래머스 ] 섬 연결하기

출저 : https://programmers.co.kr/learn/courses/30/lessons/42861 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def solution(n, costs): answer = 0 costs.sort(key=lambda x: x[2]) # costs를 정렬한다(키는 익명함수 람다의 값중costs[2]의 크기순 ) # print(costs) routes = set([costs[0][0]]) while len(routes)!=n: print(routes) for i, cost in enumerate(costs): if cost[0] in routes and cost[1] in routes: continue if cost..

알고리즘 2021.09.24

[ 프로그래머스 ] 카펫

출저 : https://programmers.co.kr/learn/courses/30/lessons/42842 이 문제는... 완전 탐색 문제입니다만.. 완전 탐색으로 풀지 못하였습니다.. 아무래도 효율성도 수식으로 하는 것이 굉장히 좋을 것으로 판단하여 그냥 수식으로 풀었습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def solution(brown, yellow): sum_by = brown + yellow # print(sum_by) # temp = [] # for i in range(1, sum_by+1): # global y = (sum_by+1) - i # if sum_by % i == 0 and i > sum_by+1: # temp_b = i ..

알고리즘 2021.09.14

[프로그래머스] 소수 찾기

1234567891011121314151617181920212223242526272829303132from itertools import permutations # 순열 조합하기 def solution(numbers): answer = [] each_num = [i for i in numbers] # numbers를 쪼개기 temp = [] # 임시로 순열 조합이 들어갈곳 #print(each_num) count = 0 for i in range(1, len(numbers)+1): # i개 만큼 순열 조합 실시 temp += list(permutations(each_num, i)) # 순열조합한걸 temp에 넣어준다. allnums = [int(("").join(i)) for i in temp] # 순열..

알고리즘 2021.09.14

[프로그래머스 ] 카카오 - 메뉴 리뉴얼

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # 한 배열에 대한 조합 from itertools import combinations # 각 원소의 중복 갯수 from collections import Counter def solution(orders, course): answer = [] #course에 들어가있는 i를 temp 안에 조합해준다. for i in course: temp = [] # 조합 반복문 for j in orders: #들어온 주문 = j 를 i 와함께 조합한다.. c = combinations(sorted(j), i) # 조합된 c 를 temp 에 넣어준다. temp += c #조합된 주문은 카운터 counter = C..

알고리즘 2021.08.31

5251. 최소 이동 거리 (양/단반향) /( 다익스트라 dijkstra 알고리즘)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 # ''' # 다익스트라 # 예쩨..

알고리즘/SWAE 2021.04.23

1486. 장훈이의 높은 선반

1234567891011121314151617181920212223242526272829303132333435363738394041424344#brute force# #탑의 높이는 점원이 1명일 경우 점원의 키 # to_H = H[i]# 2명 이상일 경우 탑을 만든 모든 점원의 키의 합 # to_H = H[i] + ... + H[N-1]#탑의 높이가 B이상인 경우 선반 위의 물건 사용 가능 단 높이가 b이상인 탑중 가장 낮은탑 #if B cursum: ans = cursum else: bit[k] = 1 powerset(n, k+1, cursum + H[k]) bit[k] = 0 powerset(n, k+1, cursum) T = int(input())for tc in range(1, T+1): N, B..

알고리즘/SWAE 2021.04.20
728x90