본문 바로가기
728x90

코딩테스트78

프로그래머스 스쿨 - 최솟값 만들기(Python)(복습) A = [1, 4, 2] B = [5, 4, 4] def solution(A,B): answer = 0 A = sorted(A) B = list(reversed(sorted(B))) for idx in range(len(A)): answer += A[idx] * B[idx] return answer solution(A,B) 2023. 10. 13.
프로그래머스 스쿨 - 이진 변환 반복하기(Python)(복습) # x = "01110" # def binary_conversion(x): # count_zeros = x.count('0') # print("count_zero :", count_zeros) # c = len(x) - count_zeros # print("c :", c) # print("bin(c) :", bin(c)) # print("bin(c)[2:] : ", bin(c)[2:]) # return bin(c)[2:], count_zeros # binary_conversion(x) def binary_conversion(x): count_zeros = x.count('0') c = len(x) - count_zeros return bin(c)[2:], count_zeros def solution(s).. 2023. 10. 10.
프로그래머스 스쿨 - 당구 연습(Python)(복습) def solution(m, n, startX, startY, balls): answer = [] start = [startX,startY] for i in range(len(balls)): end = [balls[i][0], balls[i][1]] distance = 10**6 temp = [] if start[0]!=end[0] or start[1] > end[1]: # x좌표가 다르거나, y좌표가 시작이 더 클때 temp.append((start[0]-end[0])**2 + (2*n-start[1]-end[1])**2) #위 if start[0]!=end[0] or start[1] 2023. 10. 9.
프로그래머스 스쿨 - 요격 시스템(Python)(복습) # targets = [[4,5],[4,8],[10,14],[11,13],[5,12],[3,7],[1,4]] # print(targets.sort(key = lambda x: [x[1], x[0]])) // key = function을 통해 원하는 값을 만들어 오름차순 정렬 # print(targets) def solution(targets): answer = 0 targets.sort(key = lambda x: [x[1], x[0]]) e = 0 for target in targets: if target[0] >= e: answer += 1 e = target[1] return answer 2023. 10. 8.
프로그래머스 스쿨 - JadenCase 문자열 만들기(Python)(복습) s = "for the last week" answer = 0 def solution(s): s = s.split(' ') for i in range(len(s)): s[i] = s[i].capitalize() print(s[i]) answer=' '.join(s) print(answer) return answer solution(s) 2023. 10. 7.
프로그래머스 스쿨 - 신고 결과 받기(Python)(복습) # id_list = ["muzi", "frodo", "apeach", "neo"] # reported = {x: 0 for x in id_list} # print(reported["muzi"]) def solution(id_list, report, k): answer = [0] * len(id_list) reported = {x: 0 for x in id_list} # dictionary, key - x, value - 0 for r in set(report): # set method - 순서가 없고, 집합안에서는 unique한 값 출력 a,b = r.split() reported[b] += 1 for r in set(report): a,b = r.split() if reported[b] >= k: a.. 2023. 10. 6.
728x90