먼저 시작하기 전에 시험을 본다고 하면 꼭 정리를 하면서 하세요.
고시등 특정 시험에서 많이 하는 방법인데
같은 문제를 여러번 풀면 좋겠지만 시간이 많이 걸리니 풀고 그 문제에서 느낀 것을
(오답노트 같은?)
엑셀이나 노트에 정리하며서 하시면 실력을 오래 유지할 수 있습니다.
예를 들어 백준에서 어떤 문제를 풀었는데 이 문제가 DP로 풀수 있었는데
DP의 점화식이 좋았으면 간단히 문제와 점화식을 써두고 주기적으로 읽으면
그 문제를 여러번 푼 효과가 있습니다.
알고리즘 뿐만 아니라 기술 면접 대비용이라도 나올만할 것은 따로 정리해서
주기적으로 읽어보면 정말 많은 도움이 됩니다.
평소에 전공책에서 구술로 물어볼 만한 것을 적습니다.
예를 들어 프로세스와 쓰레드의 차이점, 스케쥴링 방법의 종류와 정의
그냥 책을 쭉 여러번 읽으면 전체를 희미하게 알지만 특정 문제를 물어보면 답이 희미합니다.
각 개념의 원리, 이유, 정의와 유사/반대의 비교 등이 중요합니다.
이런 학습법을 T 자형 학습이라고 합니다. 하나만 걸리라는 것이지요.
또, 이야기가 길어지는데
어제 이야기 한 제가 생각하는 온라인저지로 물어볼 수 문제는 아래 정도 일것 같습니다.
1) 시키는 대로 동작
2) 최대, 최소 구함
3) 최대 성능 구현
1) 시키는 대로 동작
- 모사의 1번 문제 처럼 게임케릭터를 키를 받아 움직이고 아이템을 먹으면 점수획득, 적과 부딛히면 종료
- 간단한 계산기만들기
- 특정 규칙이 있는데 일정 시간 후에 상태를 표시
2) 최대, 최소 구현
(이건 답이 정해져 있습니다.)
- 여러개 그룹짓기
- 여러 경로가 있는데 어떤 길로 가야 최대(최소) 점수를 얻을 수 있는가?
- 여러 개를 선택할 수 있는데 어떤 선택을 해야 최대 효과(점수)를 볼 수 있는가?
3) 최대 성능 구현
- 간단한 방법으로 구할 수 있는데 효과적인 방법으로 최대 성능을 구현
예를 들어 일정시간내에 최대로 많은 소수 찾기,
1), 2) , 3) 모두 다 벗기면 책에 나온 알고리즘, 컴퓨터 구조등인데 여기에
이야기를 입히면 회사일이 됩니다.
특히 3)번으로 가면 단순한 알고리즘 뿐만 아니라 컴퓨터 구조에 나오는 캐시등을
이용하거나 일반 변수가 아닌 레지스터 변수, 보기쉽게 짜는 것이 아니라
효과적으로 짜는 성능을 우선하는 방법을 찾아야 합니다.
신입 사원이라면 1) 2),
경력 사원이라면 2) 3) 정도가 적당하지 않을까 생각합니다.
이왕 백준등에서 문제를 푼다면 해당 본인의 목표에 맞는 문제를 찾아서 풀어보세요.
(전 백준과 아무 관련없습니다. 입에 붙어서)
일단 온라인저지에 익숙하지 않으시면 아래글 꼭 읽어보고 시작하세요.
온라인저지 시스템이 알수 있게 프로그램을 짜고 제출해야합니다.
그냥 혼자 알고리즘 책만 보고 공부하고 시험장 가면 정말로 후회하고 그냥 옵니다.
(찾아보시면 그냥 포기하고 오시는 그런 종류의 후기가 많이 나옵니다.)
온라인 저지가 맞지 않으신 분은 칠판에 적는 코딩인터뷰를 실시하는 회사에 지원하시거나
알고리즘 시험 없는 회사에 지원하시면 됩니다.
알고리즘 점점 중요해지겠지만 아직은 이런 시험 안보는 곳이 더 많습니다.
#삼성_소프트웨어_역량_테스트
'프로그램을 배웠으나 알고리즘 시험을 봐야 한다면.' 카테고리의 다른 글
프로그램을 배웠으나 알고리즘 시험을 봐야 한다면. #번외편 (0) | 2017.03.16 |
---|---|
프로그램을 배웠으나 알고리즘 시험을 봐야 한다면. #10 (0) | 2017.03.16 |
프로그램을 배웠으나 알고리즘 시험을 봐야 한다면. #8 (0) | 2017.03.16 |
프로그램을 배웠으나 알고리즘 시험을 봐야 한다면. #7 (0) | 2017.03.16 |
프로그램을 배웠으나 알고리즘 시험을 봐야 한다면. #6 (0) | 2017.03.16 |