알고리즘 2

쓰이는 알고리즘 - Recursive Call (재귀 호출) 언제 쓸까?

1. 재귀 호출이란? - 함수 안에서 동일한 함수를 호출하는 형태 - 어떤 상황에서 하나의 큰 문제가 여러 개의 같은 작은 문제로 분할(분할 정복)하여 해결가능한 경우 사용됨 - function(n)의 결과 값에 function(n-1)이 포함된 경우 - 동일한 process를 쪼개고 쪼개다 보면 멈춰지는 지점이 있음 (러시아 인형이랄까.. 인형안에 인형. 인형안에 인형...) 2. 재귀 호출의 패턴 public int function(arg){ if (arg > n){ return function(arg-1); } else{ return m; } } public int function(arg){ if (arg

쓰이는 자료구조 - Array, Stack, Queue

모든 학문이 그렇듯, CS(Computer Science)역시 base가 잘 잡혀있어야 그를 기반으로 응용해나갈 수 있다. 백엔드 개발을 예로 들어볼까. 유저(클라이언트)를 대상으로 어떤 서비스를 제공하는 시스템을 개발하고 싶다. 그러기 위해선, 시스템을 구축하기 위한 Framework 기술을 알아야하고, 이를 배포 및 운영할 수 있는 Server 지식도 알아야하며, 데이터 관리를 위한 기술도 알아야한다. 그 중에서 가장 중요한 내용은 뭘까. 우리의 목표는 고객을 대상으로 "서비스"를 제공하는 것이라 했는데, 앞서 말했던 정보들은 서비스를 제공하기 위한 "수단"으로써 필요한 내용들이다. 본질은 "서비스"이다. 이 서비스를 비지니스 로직에 따라 처리될 수 있도록 구현하는 능력. 이는 자료구조 및 알고리즘에..