일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘공부
- 독후감
- 채권
- 알고리즘트레이닝
- 재테크
- 화장품
- C++
- JavaScript
- 지혜를가진흑곰
- 돈
- algorithmtraining
- 주식
- algorithmTest
- 자바
- 책을알려주는남자
- 다독
- 투자
- 알고리즘 공부
- 경제
- algorithmStudy
- 자바스크립트
- 서평
- 프로그래머스 알고리즘 공부
- C
- 성분
- Java
- 책알남
- 백준알고리즘
- 프로그래밍언어
- 독서
- Today
- Total
목록알고리즘 공부 (16)
탁월함은 어떻게 나오는가?
문제 설명 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..
문제 설명 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다. * 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. * 한 번 사용한 카드는 다시 사용할 수 없습니다. * 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. * 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다. 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때 ["i", "want", "to", "drink", "water"] 순서의 단어 배열을 만들려고 한다면 첫 번째 카드 뭉치에서 ..
문제 설명 한국중학교에 다니는 학생들은 각장 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국 중학교 학생들의 번호를 나타내는 정수 배열 number 가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수를 완성..