공부/AIFFEL

풀잎스쿨 - 코딩마스터(Coding Master) 3장. 검색 알고리즘

dong_dong_2 2021. 1. 27. 20:45

오늘은 책을 보고 검색 알고리즘을 배우고, 프로그래머스를 통해 2가지 문제를 풀었다.

 

검색 알고리즘에는 다양한 방법이 있지만 3가지에 대해서 알아보았다.

1. 선형 검색 : 가장 기본적인 알고리즘으로 직선 모양으로 늘어선 배열에서 검색할 때 맨 앞부터 스캔하여 순서대로

                  검색하는 알고리즘이다. 보초법을 쓰면 더욱 빠르게 검색할 수 있게 된다.

2. 이진 검색 : 배열의 데이터가 정렬되어 있어야 한다는 조건이 있다. 선형 검색보다 빠르게 검색 할 수 있다.

3. 해시법 : 데이터 검색, 추가, 삭제도 효율적으로 수행할 수 있는 방법이다. 해시충돌이 발생하는 경우 체인법과 오픈 주소법으로 대처할 수 있다.

 

오늘 푼 문제는

1. 정부 배열 numbers가 주어진다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는

   모든 수를 배열에 오름차순으로 담아 return 하도록 함수를 완성하면 된다.

2. 수포자 삼인방이 있다. 모의고사에 수학 문제를 전부 찍으려 한다. 수포자 3명은 각각 패턴이 있게 문제를 찍는다.

   1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이

   누구인지 배열에 담아 return 하도록 함수를 완성하면 된다.