rkdwodms86   5년 전

안녕하세요 아직 프로그래밍 언어를 배우고 있는 대학생인데 
또 정보처리기사 같은 자격증 시험에서도 프로그래밍 언어로 구성된 문제가 나오고 있는데
근데 왜 이런 각종 문제를 풀고 하는걸까요?? 저는 아직 프로그램을 만드는 레벨도 아니고 
c언어,자바 기본적인 개념과 자료구조 개념을 알고있는 대학생입니다. 
그래서 궁금합니다. 나중에 내가 프로그램을 만들 때 혹은 프로그래밍 관련 회사에 취칙했을때 정말
도움이 되는지 궁금합니다. 

물론 사고력, 문제풀이능력, 알고리즘 능력을 키우는건 맞다고 생각합니다.
하지만 이건 수학 문제를 푼다고 생각이 들때도 있긴 한데 이러한 생각하는건 저만 그런건가요??
정말로 이런 많은 문제를 풀면 프로그래밍 즉,
프로그램을 만드는 실력이 키워지지도 않고 잘하는건 다른 별개의 문제가 아닌가요?  

프로그램 만드는건 이러한 수학과 별개로 다른 능력을 쓸것같은데요. 제가 한번도 프로그램을 만들어 본적이 없어서 질문해봅니다.




portableangel   5년 전

8d482d42-cf90-485d-a1dc-8dace315b918


보통은 그냥 재밌어서 합니다..

rkdwodms86   5년 전

저두 물론 재밌어서 풀고 있는데.. 혹시 댓글 다신 분들도 프로그래머 관련 직종인가요?

rkdwodms86   5년 전

네 감사합니다.

windflower   5년 전

공부를 왜 하냐는 질문과 비슷한 질문이라고 생각해요!

동기에 상관없이 코딩을 많이 하면 자신만의 코딩스타일이 생기고 코딩 실력이 늘기 마련이라고 생각해요.

수학 올림피아드도 대학수학 내용과는 관계가 없어 보이지만 문제 많이 푼 사람이 대학수학 이해도가 높은 것과 마찬가지로요!!

그리고 저도 학생이라 단언하진 못하겠지만 개발할 때 알고리즘 꽤 쓰이지 않을까요?ㅎ

sgchoi5   5년 전

삼성전자 S직군은 입사시험에 알고리즘 시험보고, 사내 자격 시험도 봐서 등급 취득하는게 있습니다.

소프트웨어 관련 회사의 입사시험에 많이 이용되니 현실적인 문제로 공부하는 사람도 많습니다.

rkdwodms86   5년 전

정말 좋은 의견들 감사합니다. 더욱 도움이 많이 됬습니다.

koosaga   5년 전

8b662fc9-e8a3-4a75-9101-5a1d8bb12bb4

jwvg0425   5년 전

알고리즘 문제 풀이든 개발 능력이든 많이 부족하지만 그래도현업 3년차의 경험을 가진 개발자 입장에서 말씀드리자면, 이 공부는 개발에 도움은 되지만 그리 효율적인 공부는 아닙니다. 

실제 개발에 필요한 지식들과 경험들은 문제를 풀면서 쌓게 되는 능력의 범주보다 훨씬 더 넓습니다. 당장 개발 능력을 쌓고 싶다면 이런 지식들을 공부하고 그걸 기반으로 토이프로젝트들을 여러 개 만들어보는게 훨씬 더 도움이 되고 실력이 빨리 향상될 거에요.

하지만 알고리즘 문제풀이로 키울 수 있는 문제 해결 능력, 복잡한 구조를 최대한 간결하고 정확하게 코딩하는 능력, 내 코드가 틀렸을 때 어디서 문제가 생겼는지 찾아내는 디버깅 능력, 내 코드의 어느 부분이 느리고 어디를 개선해야 속도가 빨라지는지를 찾아내는 능력, 내 접근방법이 올바름을 증명할 수 있는 능력 등은 어느 분야의 개발에서든 적용될 수 있는 기초적인 능력입니다. 동시에 굉장히 쌓기 힘든 능력이고, 복잡한 대규모의 프로젝트를 진행할 수록 꼭 필요한 능력이기도 하죠.

다만 이 능력들은 반드시 문제풀이로만 익히고 키울 수 있는 것은 아니고 프로그램 개발 과정에서도 충분히 익힐 수 있는 능력입니다. 대다수의 뛰어난 개발자들이 저런 능력를 갖추고 있으면서도 지식이나 경험의 문제로 알고리즘 풀이는 그렇게 잘하지 못하는 경우가 많구요.

그러니 결국은 이 공부는 실제 개발 능력을 키우기 위해서라면 조금 비효율적인 접근 방법일 수 있고, 그래서 다들 재밌으니 한다, 혹은 기업 코딩 테스트를 통과하기 위해서 한다 두 가지 정도로 나뉘게 되는 것 같습니다. 

rkdwodms86   5년 전

jwvg0425 좋은 답변 감사합니다. 도움이 많이 됬던거 같아요. 물론 문제풀이으로만 프로그래밍 공부 하진 않고, 다른 지식들도 쌓고 있습니다. 

댓글을 작성하려면 로그인해야 합니다.