Programming

[언그래머] 코딩테스트 챌린지_27_(다시 돌아온) 완주하지 못한 선수

송코딩 songcoding 2024. 10. 29. 08:00

안녕하세요 여러분!

송아지할때 송아 김송아입니다.

 

 

 

어느던 코딩테스트 챌린지가 27번째 문제로 돌아왔습니다

뿌이뿌이뿌이🎉

 

@무한도전

 

 

그런 의미로(?)

오늘은 제일 초반에 만났던 문제를 다시 돌아보는 시간을 가지려 합니다.

 

 

 

어떤 문제냐구요?

바로 완주하지 못한 선수입니다.

 

[언그래머] 코딩테스트 챌린지_02_완주하지 못한 선수

안녕하세요, 김송아입니다. 오늘은 화!요!일! 인데 금요일 같은 화요일이죠 :) 내일은 선거날🗳️인 덕분에 휴일인 만큼, 투표 권한이 있으신 분들은 모두 투표도 하시구! 푹 쉬는 그런 알찬 휴

songacoding.tistory.com

 

 

문제)

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

아마 해쉬의 대표 문제로 잘 알고 계실 문제일거예요!

혹시 기억 안 나시는 분들은 다시 한번 보고 오시죠🙈

 

 

 

이 문제가 왜 해쉬냐! 하는 생각이 문득 들수도 있습니다.

해쉬는 Key - Value 쌍을 가진 모든 개념이라고 할 수 있으니, 

Key - Value의 가장 기본인..!

💡즉, 인덱스가 Key 역할을 하고 있는 배열/리스트를 활용한 문제도 해쉬문제라고 볼 수 있기 때문이죠

 

-

 

 

하지만 오늘 이 문제는 다른 알고리즘으로도 볼 수 있단 걸! 얘기하고 싶어서 찾아왔습니다.

 

물론 해쉬만으로도 충분히 설명되는 문제이지만, 

정렬된 배열과 리스트로 풀 수 있는 문제인 만큼 이 알고리즘 얘기를 안 할수가 없어서요!

 

 

바로 이진탐색입니다.

갑자기.. 이진탐색이라니.. 두둥 싶으시죠?

 

다들 이진탐색이라 생각하면 이진 트리를 생각하는 경우가 많은데, 

이번 문제에서는 트리 대신 정렬된 배열/리스트로 생각해서 봐보세요..

 

 

정렬된 배열/리스트에서 업 앤 다운(Up and down) 게임으로 원하는 값을 찾아내면,

바로 그것이 이진탐색이니까요!!!!

혹시 업 앤 다운 게임 모르는 사람 손

 

 

-

 

 

이렇게 하나의 문제를 두 개 이상의 자료구조/알고리즘으로 얘기할 수 있다는 것이 오늘의 핵심입니다.

그러니 절대! 특정 자료구조/알고리즘에 매달리지 말자구요 우리..💓

 

 

 

 

여러분들은 완주하지 못한 선수를

해쉬라고 부르실 건가요? 아니면 이진 탐색이라고 부르실건가요?

 

여러분들의 생각을 댓글로 남겨주세요!😊

 

 

그럼, 해피대피 하루 보내시고 우린 또 뵙죠 오호홓...

 

감사합니다.

김송아 드림