본문 바로가기

코드잇/알고리즘의 정석

(12)
[코드잇][알고리즘의 정석]토픽 3: Brute Force-06. 강남역 폭우 [코드잇][알고리즘의 정석]토픽 3: Brute Force-06. 강남역 폭우 링크: https://www.codeit.kr/learn/courses/algorithms/1141 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 강남역에 엄청난 폭우가 쏟아진다고 가정합시다. 정말 재난 영화에서나 나올 법한 양의 비가 내려서, 고층 건물이 비에 잠길 정도입니다. 그렇게 되었을 때, 건물과 건물 사이에 얼마큼의 빗물이 담길 수 있는지 알고 싶은데요. 그것을 계산해 주는 함수 trapping_rain을 작성해 보려고 합니다. 함수 trapping_rain은 건물 ..
[코드잇][알고리즘의 정석]토픽 3: Brute Force-05. 가까운 매장 찾기 [코드잇][알고리즘의 정석]토픽 3: Brute Force-05. 가까운 매장 찾기 링크: https://www.codeit.kr/learn/courses/algorithms/1219 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 스다벅스는 줄어든 매출 때문에 지점 하나를 닫아야 하는 위기에 처해 있습니다. 어떤 지점을 닫는 게 회사에 타격이 적을지 고민이 되는데요. 서로 가까이 붙어 있는 매장이 있으면, 그 중 하나는 없어져도 괜찮지 않을까 싶습니다. 사장님은 비서 태호에게, 직선 거리가 가장 가까운 두 매장을 찾아서 보고하라는 임무를 주셨습니다. 함수..
[코드잇][알고리즘의 정석]토픽 3: Brute Force-03. 카드 뭉치 최대 조합 [코드잇][알고리즘의 정석]토픽 3: Brute Force-03. 카드 뭉치 최대 조합 링크: https://www.codeit.kr/learn/courses/algorithms/1137 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 영상에서 보았던 문제를 코드로 풀어봅시다! 카드 두 뭉치가 있습니다. 왼쪽 뭉치에서 카드를 하나 뽑고 오른쪽 뭉치에서 카드를 하나 뽑아서, 두 수의 곱이 가장 크게 만들고 싶은데요. 어떻게 하면 가장 큰 곱을 구할 수 있을까요? 함수 max_product는 리스트 left_cards와 리스트 right_cards를 파라미터로..
[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-06. 하노이의 탑 [코드잇][알고리즘의 정석]토픽 n: ##-0n. ## 링크: https://www.codeit.kr/learn/courses/algorithms/1134 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 하노이의 탑 하노이의 탑 게임 아시나요? 이 게임의 목표는 왼쪽 기둥에 있는 원판들을 모두 오른쪽 기둥으로 옮기는 것입니다. 지켜야할 규칙은 두가지입니다: 한 번에 하나의 원판만 옮길 수 있다. 큰 원판이 작은 원판 위에 있어서는 안 된다. (출저: 위키피디아) 과제 하노이의 탑 게임의 해답을 출력해주는 함수 hanoi를 쓰세요. hanoi는 파라미터로 원..
[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-05. 이진 탐색 재귀로 구현해보기 [코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-05. 이진 탐색 재귀로 구현해보기 링크: https://www.codeit.kr/learn/courses/algorithms/1133 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 이진 탐색 알고리즘을 이미 반복문으로는 구현해 보셨죠? 이번에는 재귀적으로 문제를 해결해 보세요. 반드시 재귀(recursion)의 개념을 사용하셔야 합니다. 코드 구현이 꽤 어려우니, 천천히 고민해 보시기 바랍니다. 다른 재귀 문제를 풀 때와 마찬가지로 base case와 recursive case를 생각해 내는 것이 핵..
[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-04. 리스트 뒤집기 [코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-04. 리스트 뒤집기 링크: https://www.codeit.kr/learn/courses/algorithms/1132 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 파라미터로 리스트 some_list를 받고, 뒤집힌 리스트를 리턴해 주는 재귀 함수 flip을 쓰세요. 반복문은 쓰면 안됩니다! # 파라미터 some_list를 거꾸로 뒤집는 함수 def flip(some_list): # 코드를 입력하세요. # 테스트 some_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] some_lis..
[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-03. 자릿수 합 [코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-03. 자릿수 합 링크: https://www.codeit.kr/learn/courses/algorithms/1131 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 파라미터로 정수값 n을 받고 n의 각 자릿수의 합을 리턴해주는 재귀함수 sum_digits를 쓰세요. 반복문을 쓰지 말고, 재귀(recursion)의 개념을 활용해주세요! # n의 각 자릿수의 합을 리턴 def sum_digits(n): # 코드를 작성하세요. # 테스트 print(sum_digits(22541)) print(sum_digi..
[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-02. 숫자 합 코드잇/알고리즘의 정석[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-02. 숫자 합 링크: https://www.codeit.kr/learn/courses/algorithms/1130 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 설명 n번째 삼각수(triangle number)는 자연수 11부터 n까지의 합입니다. 파라미터로 정수값 n을 받고 n번째 삼각수를 리턴해주는 재귀 함수 triangle_number를 쓰세요. n은 11 이상의 자연수라고 가정합시다. 함수 안에 반복문은 쓰면 안됩니다! # 1부터 n까지의 합을 리턴 def triangle_nu..