10진수를 2진수/8진수/16진수로 변환하기 들어가며 재귀(Recursion) 함수를 이용하여 간단하게 10진수를 2진수/8진수/16진수로 변환하는 프로그램을 작성할 수 있다. 프로그램 구현 0부터 F(15)까지의 문자를 리스트에 순서대로 넣어준 후, 필요할 때마다 리스트의 인덱스에 접근하여 나타내도록 하면 된다. def notation(base, n) : if n < base : print(numberChar[n], end = ' ') else : notation(base, n // base) print(numberChar[n % base], end = ' ') numberChar = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] numberChar += [..
회문/팰린드롬(Palindrome) 판단하기 들어가며 회문(Palindrome) : 앞에서부터 읽든 뒤에서부터 읽든 동일한 단어나 문장 대·소문자는 구분하지 않고, 공백이나 특수 문자는 제외한다. 첫 글자와 마지막 글자를 비교하여 같으면 회문일 수 있고, 다르면 회문이 아니다. 비교하지 않은 글자가 한 글자 이하이면 회문으로 확정하고, 한 글자 이하가 아니면 첫 글자는 다음 글자로 마지막 글자는 바로 앞 글자로 이동하는 식으로 비교하고 확인하는 과정을 반복한다. 회문인 예 회문이 아닌 예 프로그램 구현 재귀 함수를 이용하여 팰린드롬의 여부를 확인하는 프로그램을 작성할 수 있다. def palindrome(pStr) : if len(pStr) X kayak--> O Borrow or rob--> O 주유소..
재귀 호출(Recursion) 재귀 호출의 기본 재귀 호출의 개념 재귀 호출(Recursion) : 자기 자신을 다시 호출하는 것 재귀 호출은 처음 접하면 상당히 혼란스럽지만 자료구조와 알고리즘을 학습할 때 매우 유용한 방법이므로 꼭 알아두어야 한다. 재귀호출의 동작 파이썬에서는 재귀 호출이 너무 많아지면 반복을 자동 종료한다. def openBox() : print("종이 상자를 엽니다.") openBox() openBox() # 처음 함수를 다시 호출 더보기 종이 상자를 엽니다. 종이 상자를 엽니다. ... RecursionError: maximum recursion depth exceeded while pickling an object 반환 조건을 추가할 경우, 무한 반복에서 빠져나올 수 있다. d..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.