본문 바로가기

프로그래밍(TA, AA)

(249)
[알고리즘] 깊이우선 탐색, 너비우선 탐색 깊이우선 탐색 트리나 그래프와 같은 비선형구조는 어떤 문제 상황이나 가능한 답들과 그 관계들로 생각할 수 있습니다. 깊이우선 탐색(Depth First Search)은 어떤 정점을 방문한 후, 그 정점에 연결된 다른 정범으로 파고 들어가는 형태의 탐색 방법입니다. 깊이 우선 탐색은 가능한 가장 깊이 들어갔다가 더이상 파고들어갈 수 없을때 이전상태로 복귀하고 파고들어가고 나오고를 반복하는 형태입니다. 반면, 너비우선 탐색방법은 어떤 방점에서 연결된 가장 빠른 정점들을 방문한 후에 다시 같은 방법들을 연결된 순서들을 다시 방문해 나가는 방법입니다. 깊이우선 탐색 (Depth First Search) : 어떤 정점을 방문하여 확인한 후 그 정점과 연결된 정점들 중에서 우선 순위가 가장 빠른 하나를 선택해 방문..
[자바스크립트] 자바스크립트 성능이야기 발 행: 2012년 9월 17일지은이: 박재성, 심상민, 양정권, 황준호 머릿말 일부 발췌:만약 사용자에게 인내심을 요구하고 있다고 생각한다면 지금보다 웹사이트의 성능을 높일 수 있는 방법이 없을지 고민해야 한다. 성능을 높인다는 것은 단순히 체감 속도를 높여 만족감을 높이는 것만은 아니다. 웹 사이트의 성능을 높이면 한정된 시간에 사용자에게 더 많은 것을 보여 줄 수 있고 사용자로부터 행동을 이끌어 낼 가능성을 높일 수 있다. 또한 느린 사이트로 사용자가 옮겨 가는 것을 줄여 사용자를 모을 수도 있다. 그리고 네트워크와 같은 한정된 자원을 절약할 수도 있다. 이것은 동시에 더 많은 사용자가 사이트를 이용할 수 있다는 것을 의미하며, 더 적은 비용으로 서비스를 운영할 수 있다는 것을 의미한다. 책을 읽은..
[알고리즘] Lower bound, Upper bound Lower bound선형구조의 부분탐색법인 이분탐색은 찾고자 하는 값이 없으면(맨 마지막 값) 탐색 실패! 하지만, lower bound는 찾고자 하는 값 이상이 처음 나타나는 위치입니다. lower bound의 경우에는 같은 원소가 여러개 있더라도 상관없습니다. 찾고자 하는 값 이상의 값이 처음 나타나는 위치를 찾아내기 위해, 이분탐색 방법에서의 조건을 조금 변경하면 됩니다. [문제] n개로 이루어진 정수 집합에서 원하는 수 k이상인 수가 처음으로 등장하는 위치를 찾으시오. 단, 입력되는 집합은 오름차순으로 정렬되어 있으며(이분 탐색 가능), 같은 수가 여러개 존재할 수 있다. 입력) 첫 줄에 한 정수 n이 입력된다. 둘째 줄에 n개의 정수가 공백으로 구분되어 입력된다. 셋째 줄에는 찾고자 하는 값 k..
[알고리즘] 정보과학과 문제, 선형구조의 탐색 프로그래밍 언어를 활용해 해결 가능한, 정보과학의 문제 이해와 기본적인 문제 해결 방법인 선형탐색 방법을 이해를 목표로 본 포스팅을 작성합니다. 1. 정보과학과 문제 정보과학에서 다루어지는 문제? 계산문제(computational problem) 계산 가능한 문제 계산 불가능한 문제 1. N이하의 자연 수 중 짝수의 갯수는? 2. 폐구간 [a, b]에서 소수는 존재하는가? 3. N개의 원소를 가지는 집한 S의 원소를 오름차순으로 나열하고, 그 최댓값을 구하시오. 4. N개의 원소로 이루어진 집합의 부분집합들 중 그 원소의 합이 k인 부분집합이 존재하는가? 5. 좌표평면 상에 N개의 점의 한 점에서 출발하여 모든 점을 지나고 출발점으로 돌아오는 경로의 길이 중 가장 짧은 길이는 얼마인가? 1. 우리반 학생..
[알고리즘] 코딩인터뷰 알고리즘 참고사이트 "좋은 환경에서 근무하는 좋은 프로그래머가 되자!" 좋은 환경의 개발회사에서 근무하고 싶다면, 그만큼의 노력이 필요합니다. 면접이나 테스트 전형에서 프로젝트 할 수 있는 기술 나열이 아닌 코딩테스트나 코딩과제로 평가를 시행하고 있는 회사는 좋은 개발자를 뽑고자 하는 욕심이 있는 회사이고, 그런 회사의 개발 근무 환경이 실제로 좋기도합니다. 코딩인터뷰때문이 아니더라도 좋은 프로그래머가 되고싶다면 알고리즘에 대한 지식, 이해 그리고 실전 활용은 필수인 것 같습니다. 아래는 코딩테스트와 관련하여 도움이 될만한 사이트들입니다. 알고리즘 사이트 문제는 영어로 되어있는 경우가 다수입니다. 백준 올라인저지나 코딩도장은 한글로 되어있으니, 코딩연습 시작으로 나쁘지 않습니다. 실제 코딩테스트를 해보니 어려운 알고리즘을 ..