[알고리즘] 이진 탐색
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. 순차 탐색 여러 탐색 알고리즘 중 가장 가장 기본적인 탐색이 순차 탐색입니다. 순차 탐색은 이름처럼 특정한 데이터를 찾기 위해 앞에서부터 하나씩 차례대로 확인하는 알고리즘 입니다. 보통 정렬되지 않은 배열에서 탐색하기 위해 사용하며 데이터의 개수가...
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. 순차 탐색 여러 탐색 알고리즘 중 가장 가장 기본적인 탐색이 순차 탐색입니다. 순차 탐색은 이름처럼 특정한 데이터를 찾기 위해 앞에서부터 하나씩 차례대로 확인하는 알고리즘 입니다. 보통 정렬되지 않은 배열에서 탐색하기 위해 사용하며 데이터의 개수가...
이 포스트는 로버트 C.마틴의 Clean Code 속 2장(22p ~ 38p) 내용에 대한 후기입니다. “여느 코드 개선 노력과 마찬가지로 이름 역시 나름대로 바꿨다가는 누군가의 질책을 받을지 모른다. 그렇다고 코드를 개선하려는 노력을 중단해서는 안 된다.” (2장 38p) 이름을 잘 짓는 규칙 로버트는 이름을 잘 짓는 규칙으로 15개의...
이 포스트는 로버트 C.마틴의 Clean Code 속 추천사부터 1장까지(1p ~ 20p) 내용에 대한 후기입니다. 기억하고 싶은 내용 모드럽의 추천사 중 다음과 같은 내용이 있습니다. “집 주인이라면 누구나 알겠지만, 지속적인 개선과 보살핌은 결코 끝나지 않는다.” (추천사 xxvi) 이 내용이 프로그램의 유지 보수 작업에 대한 프로그래...
크로아티아 알파벳 문제 크로아티아 알파벳 문제는 입력 받은 문자열에서 특정 문자열을 탐색하는 문제입니다. 처음 코드를 작성할 때, 아래 while()문 처럼 코드를 작성하였습니다. vector<string> croatia_alphabet{"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="}; stri...
크로아티아 알파벳 문제 크로아티아 알파벳 문제는 입력 받은 문자열에서 특정 문자열을 탐색하는 문제입니다. 처음 코드를 작성할 때, 아래 while()문 처럼 코드를 작성하였습니다. vector<string> croatia_alphabet{"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="}; stri...
나쁜 코드 다양한 프로젝트를 진행하면서 어려웠던 것 중 하나가 좋은 코드를 작성하는 것 이였습니다. 설계 단계에서는 매번 객체지향의 SOLID 규칙을 지키며 좋은 코드를 작성하려고 하였으나 마무리는 위 코드처럼 정리되지 않은 코드로 작성되었습니다. 이러한 작성 방법은 파일과 클래스, 메소드, 변수 등 네이밍 규칙이 매번 다르고 현재 문제점만...
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. 정렬은 데이터 집합을 특정한 기준 에 따라 순서대로 나열하는 작업입니다. 특정한 기준으로는 숫자의 내림차순과 오름차순, 문자열의 길이 혹은 각 문자의 합 등 사용자의 필요에 따라 여러 가지가 될 수 있습니다. 정렬 알고리즘은 알고리즘의 효율성을 표...
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. 정렬은 데이터 집합을 특정한 기준 에 따라 순서대로 나열하는 작업입니다. 특정한 기준으로는 숫자의 내림차순과 오름차순, 문자열의 길이 혹은 각 문자의 합 등 사용자의 필요에 따라 여러 가지가 될 수 있습니다. 정렬 알고리즘은 알고리즘의 효율성을 표...
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. Greedy(탐욕적인) 알고리즘 그리디(Greedy) 알고리즘은 단순하지만 강력한 문제 해결 방법입니다. Greedy 의 사전적 의미는 “탐욕스러운, 욕심이 많은” 이라는 뜻으로 그리디 알고리즘 대신 탐욕법, 탐욕 알고리즘 등의 이름으로 부르기도 ...
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. Greedy(탐욕적인) 알고리즘 그리디(Greedy) 알고리즘은 단순하지만 강력한 문제 해결 방법입니다. Greedy 의 사전적 의미는 “탐욕스러운, 욕심이 많은” 이라는 뜻으로 그리디 알고리즘 대신 탐욕법, 탐욕 알고리즘 등의 이름으로 부르기도 ...