목록알고리즘 (4)
말랑말랑제리스타일
파이썬 1152번은 배열에 저장하는 문제로 파이썬의 경우 단 한 줄로 풀 수 있습니다. 상당히 기초적인 문제로 문장에 들어간 단어 개수를 구하는 문제죠. 파이썬에서는 리스트를 지원하는 len과 split 메서드로 단 한줄로도 구현이 가능한데 지금부터 풀어보겠습니다. 백준 1152번 파이썬 한 줄 소스 print(len(input().split())) 위 파이썬 소스 한줄이면 백준 1152번을 풀 수 있는데요. 이 소스를 간단히 설명하면 input 된 값을 split 해주면 자동으로 리스트로 저장하게 됩니다. 이 리스트의 길이를 len으로 추출해 print로 출력만 해주면 되는 소스인데요. 간단히 파이썬 한줄로 구현 가능합니다. 백준 1152번 해석 위에 작선한 백준 1152번 파이썬 소스를 좀 더 기능적..
백준 알고리즘 10818번 문제는 배열 문제로 파이썬에서는 기본적으로 반복문 없이 풀 수 있습니다. 문제 구분이 배열이기 때문에 파이썬 list의 내장 함수만 이용하면 되는데 아래에서 차근차근 설명드리겠습니다. 백준 10818 입력 백준 10818 문제의 입력값은 엄연히 보면 단 두줄이라 input() 함수로 속도에 신경쓰지 않고 입력할 수 있습니다. N = input() arr = list(map(int,input().split())) 백준 알고리즘 10818의 첫 인자인 N은 파이썬에서 입력받을 때는 크게 의미 없기 때문에 입력만 받아둡니다. 다음으로 한줄 내에 띄어쓰기로 연결된 N개의 숫자를 split으로 나눈 뒤 int로 mapping시켜 arr라는 변수에 list 타입으로 초기화시켜줍니다. 백준..
백준11729번 문제는 하노이탑 이동 순서 문제입니다. 하노이탑 이동 문제는 대표적인 재귀함수로 풀기 쉬운 문제이며, 재귀함수를 이해하기에도 좋은 문제입니다. 자 그럼 여기서 하노이탑 문제란 뭐냐? 다들 이런식으로 생긴 장난감 본적 있을겁니다. 왼쪽처럼 생긴 모양을 오른쪽 모양으로 옮기는 문제이며, 여기서 작은 원판 위에는 큰 원판이 올 수 없습니다. 기본적인 하노이탑 이동 문제의 이동 규칙이며, 백준 알고리즘 11729 문제는 이 하노이탑에서 원판을 이동하는 순서와 전체 이동 횟수를 출력하는 문제입니다. 일단 파이썬으로 작성된 코드부터 보고 본격적으로 코드 및 문제 설명 들어갑니다 백준 11729 답안 파이썬 코드 def movement(n,f,e,t,Arr): #f에서 t로 이동한다 e는 비어있는 공..
재귀함수(Recursion)의 정의 재귀함수의 재귀는 한자로 두번 재에 돌아올 귀자를 써서 再歸 라고 표현됩니다. 영어로는 Recursion이라고 표현합니다. 실제 코드에서는 어떤 함수 안에서 그함수 자신을 호출하는 함수를 재귀함수(Recursion)라고 표현합니다. 재귀함수 구현방법 재귀함수의 요건 종료조건(기저조건) 재귀함수에서 필수적인 요소가 바로 종료조건입니다. 아래 코드에서 종료조건이라고 주석처리한 라인이 없다면 무한히 루프를 돌다가 결국 스택오버플로우를 일으키고 프로그램이 죽습니다. 그래서 어느 조건에 도달하면 이 함수를 끝낸다는종료조건을 넣어주어야 합니다. func recursive(){ func recursive() if(종료조건) //종료조건 return //종료조건 } 분할정복 재귀함..