본문 바로가기

Python15

[Python] (recursion)재귀함수 이해해보기, 스택 목차1. 재귀함수란?2. 스택 간단하게 알아보기 3. 재귀함수 예제 -  팩토리얼, 피보나치수열, 하노이의 탑 -  재귀함수 정의 -  재귀함수 실행순서 4. 재귀문제를 푸는 가장 좋은 방법?재귀함수란?재귀(recursion는 어떠한 것을 정의할 때 자기 자신을 참조하는 것을 뜻한다재귀함수란? 함수를 정의할 그 함수 자신을 포함해서 정의하는 것이다.▶ 재귀함수의 특징 - 재귀함수는 for문으로 대체할 수 있지만,   반복적 구조를 깔끔하게 쓰기위해서 특정상황에 사용한다.- 하지만 for문이 더 복잡도가 낮고,  효율적일때가 많다. - 재귀호출을 무한 반복하므로 종료조건이 필요하다. - 선언적인 프로그램이다.    코드가 간결하고 이해하기 쉬울 때 사용.스택재귀함수를 이해하려면 스택을 알아야한다."나중에 .. 2024. 12. 11.
[Python] 함수 global키워드, 가변 매개변수(args, kwargs) 변수변수는 전역변수와 지역변수로 나눌 수 있다.전역변수 : 함수, 클래스 외부에서 선언하며, 코드 어디에서나 접근 가능.                 프로그램이 종료되면 메모리에서 소멸지역변수 : 한정된 지역에서 사용되는 변수 ( ex. 함수 내에서 선언된 변수 )                 그 지역을 벗어나면 메모리에서 소멸global 키워드전역변수의 값을 함수 내부에서 읽기는 가능하지만, 변경할 수 없기에global이라는 키워드를 사용하여 값을 변경해야한다. ▼ 그냥 전역변수의 값을 가져오는건 가능하다. ▼ 하지만 전역변수의 값을 함수내에서 바꾸려고 하면함수 외부에서 선언된 변수를 내부에서 사용하려하였기에 UnboundLocalError가 뜬다. ▼global로 사용할 전역변수를 불러주면, 전역변수.. 2024. 12. 9.
[Python] 함수 def 함수 정의반복적으로 사용하는 등 작업을 수행하기 위해 코드를 미리 정의해두고 사용.def 함수명(매개 변수1, ... ):     실행문장함수명(인수)함수화의 장점 - 중복된 코드를 함수화하여 간결하게 코드작성 가능 - 가독성을 높인다.  내가 선언한 매개변수의 순서대로 인수를 잘 대입하자.매개변수를 dan과 end의 순서로 선언했으니인수도 dan, end 순서로 넣어야한다.함수의 장점은 내가 만들고싶은 코드를 미리 만들어두고 호출해서 빠르게 사용할 수 있다는 것.return함수내부에 수행 결과를 결과값으로 return에 담아서 보내는 것.return값은 상황에 따라 리스트, 튜플, 딕셔너리, 셋 등 다양하게 내보낼 수 있다.함수를 호출하여 사용할 떄, return값을 반환받을 변수가 필요.▶코드, 리턴.. 2024. 12. 9.
[Python] while문 for문(리스트내포, 딕셔너리, 리스트 , 이중for문) 반복문반복문을 통해서 값을 일일이 대입해야 하는 일과 같은 반복업무를 프로그램으로 수행할 수 있다.파이썬에서 반복문은 for문과 while문이 있다.while - 특정 조건이 완료될 때 까지 반복for - 지정한 횟수만큼 반복 1. while문while 조건식:    실행문while문은 조건식이 True일 경우 실행문을 계속 반복한다.False가 되면 종료된다.-------------------------------------------while True:    실행문    break위와 같은 while문으로 무한루프를 만들 수 있는데, 이런 상황엔 break로 종료조건을 만들어 종료시켜줘야한다. while문 무한루프while True:    실행문     break while문에선 원할 때 까지 값을 .. 2024. 12. 6.
[Python] if문, elif문, else문, 중첩조건문 1. 조건문 if "만약에"라는 조건을 사용하여 프로그램의 흐름을 제어하는 것 if 조건식:    조건식이 참일때 실행되는 코드▶ if 조건식 뒤에 콜론( : )을 꼭 붙여줘야하고▶ 밑에 따라오는 코드에 꼭 한칸이라도 들여쓰기를 해줘야함. ▶조건식이 참(True)일 때 조건문이 실행된다. 조건문에서 거짓숫자형 : 0은 거짓, 그외의 숫자는 참문자열 : 빈 문자열리스트, 딕셔너리, 튜플, 셋(set) : 값이 비어있는 경우 [ ], { }, ( ), set( )NoneFalseFalse인 경우 if문의 조건문이 출력되지 않고, True인 경우만 출력되었다.2. elif문 , else문 elif문은 if문 이외의 조건을 더 걸어준다. ( elif가 True일 때 실행 )else문은 if문과 elif문 모두 .. 2024. 12. 2.
[Python] 리스트, 이차원리스트 인덱싱, 슬라이싱, 값추가/삭제, 메 1. 리스트와 이차원리스트 리스트는 여러 데이터를 저장할 수 있는 자료형이다.다음과 같은 형태를 가지고 있다. 리스트변수 = [ idx1, idx2, idx3 ]  이차원리스트는  리스트 안에 리스트를 넣은 것행(row)과 열(column)로 이루어진 데이터이다.리스트변수 = [    [ idx1, idx2, idx3 ],    [ idx1, idx2, idx3 ],    [ idx1, idx2, idx3 ]]리스트변수[행idx][열idx]2. 리스트 특징▶ 리스트는 순서가 중요하다. (인덱스 값)-  리스트의 요소를 넣으면 각 요소가 순서대로 번호(인덱스 값)을 가지게 된다.-  인덱스 값은 0부터 시작한다. ▶ 인덱스 값으로 항목 검색 가능  ▶ 새로운 항목 추가/삭제 가능  ▶ 숫자형, 문자열 혼합.. 2024. 12. 1.