
재귀 함수와 DP 그리디 알고리즘 이론에서 사용되는 한 가지 알고리즘 설계 기법 이 기법은 각 단계에서 가장 최적인 선택을 하는 것을 목표로 한다 재귀함수 재귀 함수는 자신을 호출하는 함수를 가리킨다 함수가 자기 자신을 직간접적으로 호출하는 것을 말한다 주어진 문제를 더 작고 관련이 있는 하위 문제로 분할하여 해결할 때 유용한 기법 중 하나 재귀 함수는 기본적으로 두 가지 요소로 구성된다 Base Case (기본 사례): 재귀 호출을 종료하기 위한 조건 이것이 없으면 함수가 무한히 호출될 수 있다 따라서 재귀 함수는 종료 조건을 반드시 가져야 한다 Recursive Step (재귀 단계): 함수가 자기 자신을 호출하여 문제를 더 작은 부분 문제로 분할하는 부분 재귀 함수의 장단점 장점 코드의 가독성을 높..

알고리즘 코드카타 길이에 따른 연산 정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요. 주어진 조건에 리스트의 길이에 따라 길이가 11이상이면 합을, 10이하이면 곱을 해야하기때문에 if문을 통해 리스트의 길이인 len함수를 써서 리스트의 길이를 재주고 sum 함수로 11이상일 경우에 리스트의 합을 넣어주고 아닐경우 for문을 돌리며 list안의 값을 전부 곱해준다 def solution(num_list): if len(num_list) >= 11: return sum(num_list) else: result = 1 for num in num_list: re..

자료구조 알고리즘 알고리즘이란 어떤 문제를 해결하기 위한 절차의 집합 예시) 줌 오디오, 비디오 압축 알고리즘 지도 알고리즘(네비게이션) 경로 찾기 알고리즘 자판기 알파고 음식 레시피 케이크를 만드는 알고리즘 이 과정은 아래와 같은 단계로 구성된 알고리즘으로 구현할 수 있음 재료 준비: 필요한 재료를 모두 준비합니다. 예를 들어 밀가루, 설탕, 버터, 계란 등입니다. 각 재료는 특정 양만큼 필요하며, 이는 알고리즘에서 '입력'에 해당합니다. 재료 혼합: 지정된 순서에 따라 재료를 혼합합니다. 먼저 밀가루와 설탕을 섞고, 그 다음에는 버터와 계란을 추가합니다. 이 단계는 알고리즘의 '처리 과정'에 해당합니다. 각 단계는 명확하게 정의되어 있으며, 순서에 따라 진행됩니다. 굽기: 혼합된 반죽을 오븐에 넣고 ..

오늘의 코드카타 특정 문자 제거하기 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 간단하다 .replace를 이용하여 letter의 내용을 공백으로 만들었다 def solution(my_string, letter): return my_string.replace(letter,'') 아이스 아메리카노 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수..

오늘의 코드카타 배열의 평균 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. sum : 숫자의 합을 계산해주는 함수와 len : 문자열(리스트)의 갯수를 반환하는 함수를 써서 간단하게 풀 수 있다 def solution(numbers): answer = sum(numbers) / len(numbers) return answer 머쓱이보다 키 큰 사람 머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요...

알고리즘 코드카타 두 수의 차 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요. def solution(num1, num2): num1 >= -50000, num1 = -50000, num2 = 0, num1 = 0, num2 = 0, num1 = 0, num2 0, num1 0, num2 0, num1 0, num2 0, age = -50000, num1 = -50000, num2 0, num1 0, num2 0 and angle 90 and angle < 180: return 3 elif angle == 180: return 4..

(심화 과제) 클래스 사용해보기! 과제 내용: Member 클래스와 Post 클래스를 정의하세요. Member 클래스에는 다음과 같은 속성을 가지고 있어야 합니다. 회원 이름 (name) 회원 아이디 (username) 회원 비밀번호 (password) Member 클래스에는 다음과 같은 메소드를 가지고 있어야 합니다. 회원 정보를 print해주는 display (회원이름과 아이디만 보여주고 비밀번호는 보여줘서는 안됩니다!) Post 클래스에는 다음과 같은 속성을 가지고 있어야 합니다. 게시물 제목 (title) 게시물 내용 (content) 작성자 (author) : 회원의 username 이 저장되어야 함! 회원 인스턴스를 세개 이상 만들고 members 라는 빈리스트에 append를 써서 저장해주세..

가위바위보 게임 만들기 과제 내용: 플레이어와 컴퓨터가 참여하는 가위바위보 게임을 만드세요. 게임은 다음 순서로 진행됩니다. 플레이어가 가위, 바위, 보 중 하나를 입력합니다. 컴퓨터도 무작위로 가위, 바위, 보 중 하나를 선택합니다. 플레이어와 컴퓨터의 선택을 비교하여 승패를 판정합니다. 결과를 출력하여 플레이어가 이겼는지, 컴퓨터가 이겼는지, 비겼는지를 알려줍니다. 게임을 반복하거나 종료할 수 있는 기능을 추가하세요. 추가 도전 과제: 게임의 승, 패, 무승부 횟수를 기록하고, 게임 종료 시에 플레이어에게 통계를 제공하세요. 플레이어가 입력할 때 대소문자를 구분하지 않도록 프로그램을 개선하세요. 플레이어가 게임을 반복하고 싶을 경우, 게임 재시작 여부를 묻고 그에 따라 게임을 초기화하거나 종료하는 기..