본문 바로가기

문제 풀이262

[Python] 프로그래머스 : 메뉴 리뉴얼 https://programmers.co.kr/learn/courses/30/lessons/72411?language=python3 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 문제 풀이 for course in course: for order in orders: n_order = ''.join(sorted(order)) for combo in [''.join(i) for i in list(combinations(n_order, course))]: if combo in combos[course-1]: com.. 2022. 6. 22.
[Python] 프로그래머스 : 내적 https://programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 문제 풀이 느낀 점 코드 def solution(a, b): return sum([x*y for x, y in zip(a,b)]) 2022. 6. 22.
[Python] 프로그래머스 : 음양 더하기 https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 문제 풀이 단순하게 부호에 따라 더하고 빼기만 하면 된다. 느낀 점 코드 def solution(absolutes, signs): answer = 0 for i in range(len(signs)): if signs[i]: answer += absolutes[i] else: answer -= absolutes[i] return answer 2022. 6. 22.
[Python] 프로그래머스 : 없는 숫자 더하기 https://programmers.co.kr/learn/courses/30/lessons/86051 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. programmers.co.kr 문제 풀이 없는 숫자를 찾는 게 아니라 없는 숫자의 합을 구하면 된다. 0부터 9까지 더한 값에서 numbers를 더한 값을 빼면 끝. 느낀 점 코드 def solution(numbers): answer = sum([0,1,2,3,4,5,6,7,8,9]) answer -= sum(numbers) return ans.. 2022. 6. 22.
[Python] 백준 10815번 : 숫자 카드 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 풀이 기본적인 이분 탐색 문제이다. 값을 입력받고 출력만 잘하면 된다. 느낀 점 파이썬이 아니였다면 입력 값의 범위 때문에 다소 어려웠을 것 같다. 파이썬 최고다... 코드 from sys import stdin def binary(arr, left, right, key): while left arr[mid]: left = mid + 1 elif key < ar.. 2022. 6. 22.
[Python] 백준 2108번 : 통계학 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 문제 풀이 수학적인 능력을 물어보는 구현 문제이다. 문제에서 물어보는 대로 따라가면 된다. 산술평균 : n개의 수를 합 합해서 n으로 나눈 뒤 반올림하면 된다. statistics 라이브러리에 있는 mean() 함수를 써도 상관은 없는데 오히려 메모리와 시간을 잡아먹는다. 중앙값 : n이 무조건 홀수로 주어지기 때문에 (n+1)/2 -1 이 무조건 중앙값이다! 최빈값 : 빈도를 따지기 위해서 딕셔너리를 사용했다.. 2022. 6. 21.