# recursive
Today I Learned (23.03.10~11)
List와 RecursiveElixir의 List가 타 프로그래밍 언어와 다른 점: 일반적인 프로그래밍 언어에서는 List를 순회대상으로 여기며 반복문으로 다루는 것이 당연한 것으로 여겨진다.하지만 Elixir에서 List는 Linked List이다. 즉 다시 말해

[Java] CollectionAPI 와 Comparable vs Comparator
[Java] CollectionAPI 와 Comparable vs Comparator
[Java] 재귀함수
사전적 용어로는 '원래 자리로 되돌아가거나 되돌아옴'이라는 뜻이다.그렇다면 재귀함수는 사전의 뜻과 비슷하게 함수를 선언할 때 선언한 함수를 그 함수 안에서 계속 호출해주는 메서드라고 할 수 있다.위와 같이 호출하게 되면 출력값이 무한히 반복되는 것을 볼 수 있을 것이다
프로그래머스 괄호 변환
카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않

[Algorithm] 백준 1463(dp 문제)
정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지이다.1\. X가 3으로 나누어 떨어지면, 3으로 나눈다.2\. X가 2로 나누어 떨어지면, 2로 나눈다.3\. 1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산
백준 5639 이진 검색 트리 (C++)
5639번: 이진 검색 트리이진 트리를 이용한 문제이다. 먼저 전위 순회로 입력되는 값을 트리를 구현하여 저장해주었다. 그 후 후위 순회로 값들을 차례로 출력해주었다.처음에는 배열로 노드를 구성하여 이를 순회하며 출력해주었는데 아웃바운드가 발생했다. 이유는 값이 많아질
(Swift) Programmers 피보나치 수
코딩테스트 연습 - 피보나치 수 문제풀이 아이디어 백준에서도 풀었던 문제를 만났습니다. 피보나치 수에 대한 자세한 내용은 이 포스팅을 참고해주세요! 이번 포스팅에서는 코드만 올리겠습니다! 동적계획법과 재귀함수를 조합하여 풀었습니다! 코드
백준 1991 트리 순회 (C++)
1991번: 트리 순회기본적인 트리 순회 문제이다. 전위, 중위, 후위 순회 결과를 순서대로 출력하면 된다. 먼저 입력받은 노드들을 숫자로 바꿔 node배열에 저장하였다. 순회는 재귀를 사용했으며 각 함수의 구조는 동일하지만 출력하는 위치가 다르다.오랜만에 본 순회 문
백준 11729 하노이 탑 이동 순서 (C++)
11729번: 하노이 탑 이동 순서하노이 알고리즘 알고리즘 구현 문제이다. 하노이 알고리즘은 워낙 유명하기 때문에 어렵지 않게 풀 수 있었다. 문제 제출 시에 시간 초과와 실패를 했는데 두가지 이유가 있었다.endl은 "\\n"보다 시간이 오래 걸린다. 참고cmath의
Pramp - Number of Paths
4번째 Pramp mock interview경험n x n 크기의 map이 있다고 할때, 좌-하단에서 우 상단까지 갈수 있는 경로의 경우의수는 무엇인가?(단 검은색 대각선기준 건너편(그림에서 검은색)은 이동할 수 없다.)검은색의 존재를 처음부터 신경쓰면 당황할 수 밖에
Leetcode - 79. Word Search
char타입 2차원 배열에 문자가 포함되어있다. 주어지는 word와 일치하는 연속된 문자열이 존재하는지 파악하라. 단 상하좌우 방향 관계없음. 중복된 문자를 지날 수 없음.DFS 그리고 Visited 로 가지치기(pruning)하여 풀 수 있는 문제.

[알고리즘] 완전탐색(Brute-Force Search / Exhaustive Search) 기법
완전 탐색이란? 컴퓨터의 계산 능력을 이용해 가능한 모든 경우의 수를 체크하여 답을 찾는 방법을 의미한다. 예를 들어, 4자리 암호로 구성된 자물쇠가 있다고 생각해보자. 자물쇠의 암호를 전혀 알지 못할때, 시도할 수 있는 가장 확실한 방법은 0000~9999까지 모든 조합을 시도해 보는 것이다. (최대 10000번의 시도로 해결 가능) 하지만 Compu...

재귀함수에 대하여
어떤것을 정의할 때 자기자신을 참조하는 것을 말한다.프로그래밍에서 재귀함수는 자기 자신을 호출하는 함수이다.반복문으로 작성할 수 있는 코드는, 재귀함수를 이용해 작성할 수 있고, 그 반대 역시 가능하다.재귀함수는 계속 자기 자신을 호출하기 때문에, 그 결과가 콜스택에
[Day3/15] LeetCode 75
오늘은 LeetCode 75 Level 1 을 시작한지 3일차다.오늘의 주제는 Linked List 이다. 학부시절 때 가장 좋아했던 자료구조였었다. (가장 싫어했던 자료구조는 heap, 증명하기 정말 싫었음...)https://leetcode.com/stud

Recursive Function - 재귀함수
재귀는 원래의 자리로 돌아오는 것을 뜻한다. 즉 재귀함수란 자기 자신을 리턴하는 함수를 말한다.함수는 실행시에 자기 자신을 반드시 리턴해야한다.종료되는 시점을 반드시 명시해줘야한다. 종료시점이 명시되지 않는다면 무한으로 재귀호출이 실행된다.재귀함수를 이해하기 위해서 스