면접 · KIS자산평가 / 데이터분석가
Q. 알고리즘을 설명해달라는 질문에 어떤형식으로 답을 해야하는지..
알고리즘을 설명해달라는 질문은 어떤형식으로 답해야할까요?ㅠㅠ 컴퓨터전공이 아니다보니 면접에서 저 질문을 받으면 ????만 맴돕니다... 요즘 학교에서 코딩을 무조건 배우다보니 코딩을 안배운건 아니에요 파이썬으로 데이터를 분석하거나 손으로 계산하기엔 너무 많은 시도(10만번정도)가 필요한 수식을 C에서 사용자정의함수로 만들어 돌린다던가 하는 용도 때문에 종종 사용하는데요 주로 프로젝트나 대회나갈때 쓰다보니 자소서에 당연히 들어가고, 그러면 면접관분들이 관심가지시다가 어떻게 짰는지 알고리즘을 말해달라고 하십니다.. 그래서 @@@를 입력받고 @@@를 @@로 바꾸어 계산해준다음... 하며 말하다보면 아니아니 그거말고.. 혹은 아..네 하고 끝나네요ㅠㅠ 어떻게 말하는게 정석인지 알고싶어요..ㅠㅠ
2019.06.02
답변 1
- 멘멘토31159SK하이닉스코부장 ∙ 채택률 88%
채택된 답변
알고리즘을 설명해 달라는 것은 문제 해결 방식을 설명해 달라는 것입니다. 알고리즘을 짰다면, 어떤 문제가 있었다는 것이고, 해당 문제를 SW적으로 해결할 수 있도록 하는게 알고리즘입니다. 알고리즘 관련책을 하나 보시면 내가 어떻게 대답을 해야할지 감을 잡을수도 있을 것 같습니다. 아래와 같은 순서대로 대답하면 어떨까요? 1. 문제 정의: 본인이 어떠한 문제에 대해 해결하고자 한다. 2. 해결책 구상 - 1번의 문제를 해결하려면 이러이러한 데이터 구조가 필요하다. - 1번의 문제를 해결하려면 이러이러한 구조의 function이 필요하다. - 본인이 짠 알고리즘의 복잡도는 O(x)다. 3. 만약 기 구현된 알고리즘/데이터 구조를 활용(map도 쓰고, quick_sort도 쓰고 등등...)한다면 해당 알고리즘/구조를 쓴 이유 설명. (대부분 메모리 적게 먹고 빠르기 때문에 해당 알고리즘/구조를 씀.). 문제 해결에 제약사항이 없다면 메모리는 많이 먹지만 엄청 빠르게 동작하는 알고리즘도 사용 가능. 일단 설명은 너무 지엽적으로 하지 말구요 전체적인 그림을 보면서 설명해야 합니다. 전체적으로 구조는 이렇게 생긴 SW이고, 입/출력은 어떻게 되며, 내부적으로는 이렇게 동작하고, 제약사항은 어떤게 있고 등등... 설명이 좀 장황한거 같은데요, 저는 알고리즘 관련 책 한권정도는 읽어보시길 권합니다. 번역본도 많이 있습니다. 거기서 알고리즘을 짜기전 어떠한 의식의 흐름으로 가야 하는지는 대부분 설명이 되어 있기 때문에 면접시 그러한 의식의 흐름으로 대답하면 될 듯 합니다.
함께 읽은 질문
- Q.Lorem ipsum dolor sit amet, consectet
- Q.Lorem ipsum dolor sit amet, consectet
- Q.Lorem ipsum dolor sit amet, consectet
궁금증이 남았나요?
빠르게 질문하세요.

