일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘공부
- 경제
- JavaScript
- 재테크
- 책을알려주는남자
- 알고리즘 공부
- 자바스크립트
- 지혜를가진흑곰
- 책알남
- Java
- 서평
- 채권
- 다독
- algorithmTest
- 투자
- algorithmStudy
- algorithmtraining
- C++
- 독후감
- 독서
- 백준알고리즘
- 자바
- 돈
- 알고리즘트레이닝
- 프로그래머스 알고리즘 공부
- 프로그래밍언어
- C
- 주식
- 성분
- 화장품
- Today
- Total
목록알고리즘 공부 (18)
탁월함은 어떻게 나오는가?
문제 설명양의 정수 x에 대한 함수 f(x)를 다음과 같이 정의합니다.- x 보다 크고 x와 비트가 1~2개 다른 수들 중에서 제일 작은 수 예를 들어,- f(2) = 3 입니다. 다음 표와 같이 2보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 3이기 때문입니다. - f(7) = 11 입니다. 다음 표와 같이 7보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 11이기 때문입니다. 정수들이 담긴 배열 numbers 가 매개변수로 주어집니다. numbers 의 모든 수들에 대하여 각 수의 f 값을 배열에 차례대로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항- 1 - 0 입출력 예 문제 풀이python..
문제 설명다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다.- (), [], {} 는 모두 올바른 괄호 문자열입니다.- 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A}도 올바른 괄호 문자열입니다. 예를 들어, []가 올바른 괄호 문자열이므로, ([])도 올바른 괄호 문자열입니다.- 만약 A, B가 올바른 괄호 문자열이라면, AB도 올바른 괄호 문자열입니다. 예를 들어, {}와 ([])가 올바른 괄호 문자열이므로, {}([])도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리고 소괄호로 이루어진 문자열 s가 매개변수로 주어집니다. 이 s를 왼쪽으로 x(0 제한사항- s의 길이는 1 이상 1,000 이하 입니다. 입출력 예 풀이python:12345..
문제 설명 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다.당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되느 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷핟록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 soultion 함수를 완성해주세요. 제한사항 입출력 예 입출력 예 설명 입출력 예 #1 입출력 예 #2 입출력 예 #3 문제풀이 이번 [ 전력망을 둘로 나누기 ] 문제의 경우에는 모든 선들을 잘르고 나서 송전탑의 개수의 차이가 최소로..
문제 설명 호텔을 운영 중인 코니는 최소한의 객실만을 사용하여 예약 손님들을 받으려고 합니다. 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있습니다. 예약 시각이 문자열 향태로 담긴 2차원 배열 book_time이 매개변수로 주어질 때, 코니에게 필요한 최소 객실의 수를 return 하는 solution 함수를 완성해주세요. 제한사항 입출력 예 입출력 예 설명 문제풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 function solution(book_time) { const rooms = []; book_time.sort().forEach(([start, end]) => { const [startHour, start..
문제 설명 전화번호부에 적힌 번화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다름과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. - 구조대 : 119 - 박준영 : 97 674 223 - 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 soultion 함수를 작성해주세요. 제한 사항 입출력 예제 입출력 예 설명 입출력 예 #1 앞에서 설명한 예와 같습니다. 입출력 예 #2 한 번호가 다른 번호의 접두사인 경우가 없으므로, 답은 true입니다. 입출..
문제: 배열에 이름이 두 번 이상 나온 이름을 찾는 알고리즘 입력: 이름이 n개 들어 있는 리스트 출력: n개의 이름 중 반복되는 이름의 집합 파이썬 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def find_same_name(a): name_dict = {} for name in a: if name in name_dict: name_dict[name] += 1 else: name_dict[name] = 1 result = set() for name in name_dict: if name_dict[name] >= 2: result.add(name) return result name = ["Tom", "Jerry", "Mike", "Tom"] pr..
문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 3. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 입출력 예 1차 답안 코드 1 2 3 4 5..
문제 설명 비내림차순으로 정렬된 수열이 주어질 때, 다음 조건을 만족하는 부분 수열을 찾으려고 합니다. * 기존 수열에서 임의의 두 인덱스의 원소와 그 사이의 원소를 모두 포함하는 부분 수열이어야 합니다. * 부분 수열의 합은 k 입니다. * 합이 k 인 부분 수열이 여러 개인 경우 길이가 짧은 수열을 찾습니다. * 길이가 짧은 수열이 여러 개인 경우 앞쪽(시작 인덱스가 작은)에 나오는 수열을 찾습니다. 수열을 나타내는 정수 배열 sequence와 부분 수열의 합을 나타내는 정수 k 가 매개변수로 주어질 때, 위 조건을 만족하는 부분 수열의 시작 인덱스와 마지막 인덱스를 배열에 담아 return 하는 solution 함수를 완성해주세요. 이때 수열의 인덱스는 0부터 시작합니다. 문제풀이 1 2 3 4 5..