먼저 시작하기 전에 시험을 본다고 하면 정리를 하면서 하세요.

 

고시등 특정 시험에서 많이 하는 방법인데

같은 문제를 여러번 풀면 좋겠지만 시간이 많이 걸리니 풀고 문제에서 느낀 것을

(오답노트 같은?)

엑셀이나 노트에 정리하며서 하시면 실력을 오래 유지할 있습니다.

 

예를 들어 백준에서 어떤 문제를 풀었는데 문제가 DP 풀수 있었는데

DP 점화식이 좋았으면 간단히 문제와 점화식을 써두고 주기적으로 읽으면

문제를 여러번 효과가 있습니다.

 

알고리즘 뿐만 아니라 기술 면접 대비용이라도 나올만할 것은 따로 정리해서

주기적으로 읽어보면 정말 많은 도움이 됩니다.

평소에 전공책에서 구술로 물어볼 만한 것을 적습니다.

예를 들어 프로세스와 쓰레드의 차이점, 스케쥴링 방법의 종류와 정의

 

그냥 책을 여러번 읽으면 전체를 희미하게 알지만 특정 문제를 물어보면 답이 희미합니다.

개념의 원리, 이유, 정의와 유사/반대의 비교 등이 중요합니다.

이런 학습법을 T 자형 학습이라고 합니다. 하나만 걸리라는 것이지요.

 

, 이야기가 길어지는데

 

어제 이야기 제가 생각하는 온라인저지로 물어볼 문제는 아래 정도 일것 같습니다.

 

1) 시키는 대로 동작

2) 최대, 최소 구함

3) 최대 성능 구현

 

1) 시키는 대로 동작

- 모사의 1 문제 처럼 게임케릭터를 키를 받아 움직이고 아이템을 먹으면 점수획득, 적과 부딛히면 종료

- 간단한 계산기만들기

- 특정 규칙이 있는데 일정 시간 후에 상태를 표시

 

2) 최대, 최소 구현

 (이건 답이 정해져 있습니다.)

- 여러개 그룹짓기

- 여러 경로가 있는데 어떤 길로 가야 최대(최소) 점수를 얻을 있는가?

- 여러 개를 선택할 있는데 어떤 선택을 해야 최대 효과(점수) 있는가?

 

3) 최대 성능 구현

- 간단한 방법으로 구할 있는데 효과적인 방법으로 최대 성능을 구현

  예를 들어 일정시간내에 최대로 많은 소수 찾기,

 

1), 2) , 3) 모두 벗기면 책에 나온 알고리즘, 컴퓨터 구조등인데 여기에

이야기를 입히면 회사일이 됩니다.

특히 3)번으로 가면 단순한 알고리즘 뿐만 아니라 컴퓨터 구조에 나오는 캐시등을

이용하거나 일반 변수가 아닌 레지스터 변수, 보기쉽게 짜는 것이 아니라

효과적으로 짜는 성능을 우선하는 방법을 찾아야 합니다.

 

신입 사원이라면 1) 2),

경력 사원이라면 2) 3) 정도가 적당하지 않을까 생각합니다.

 

이왕 백준등에서 문제를 푼다면 해당 본인의 목표에 맞는 문제를 찾아서 풀어보세요.

( 백준과 아무 관련없습니다. 입에 붙어서)

 

 

일단 온라인저지에 익숙하지 않으시면 아래글 읽어보고 시작하세요.

온라인저지 시스템이 알수 있게 프로그램을 짜고 제출해야합니다.

https://algospot.com/wiki/read/%EC%95%8C%EA%B3%A0%EC%8A%A4%ED%8C%9F_%EC%98%A8%EB%9D%BC%EC%9D%B8_%EC%A0%80%EC%A7%80/%EC%B2%AB_%EB%B2%88%EC%A7%B8_%EB%AC%B8%EC%A0%9C_%ED%92%80%EA%B8%B0

 

그냥 혼자 알고리즘 책만 보고 공부하고 시험장 가면 정말로 후회하고 그냥 옵니다.

(찾아보시면 그냥 포기하고 오시는 그런 종류의 후기가 많이 나옵니다.)

 

온라인 저지가 맞지 않으신 분은 칠판에 적는 코딩인터뷰를 실시하는 회사에 지원하시거나

알고리즘 시험 없는 회사에 지원하시면 됩니다.

알고리즘 점점 중요해지겠지만 아직은 이런 시험 안보는 곳이 많습니다.

 

 

#삼성_소프트웨어_역량_테스트

온라인 시스템을 이야기하면 자체적으로 구현할 있겠지만 대부분

리눅스에서 돌아가는 오픈 소스를 사용하고 여기서는 컴파일 채점만 합니다.

(검색해보면 많이 나오니 실제로 리눅스 PC 설치를 해볼 있습니다.

 그렇게 해서 운영하는 학교나 동아리도 많이 있습니다

 대학교나 일부 고등학교에서도 수업시간에 이용을 합니다.)

 

1) 일부언어만 지원 

리눅스에 설치하는 컴파일러에 따라서 모든 언어를 지원할 있지만

관리의 용이성을 위해 C, C++, JAVA 범용? 언어만 지원하는 경우가 많으니

여러 회사를 지원한다면 파이썬 특별한 언어로 연습하지 않는 것이 좋습니다.

아니면 여러 언어를 자유자재로 있는 실력이면 좋겠지만

 

2) 사용할수 있는 라이브러리

프로그램을 짤때 여러가지 기본 라이브러리를 (string.h 라던가) 쓰면서 했다면

stdio.h 넣고 짜는 연습이 필요합니다. 시험에 사용할 있는 라이브러리가 제한됩니다.

malloc.h 같은 것을 못쓰는 경우도 있어서 메모리는 항상 배열로 잡아 쓰기도 합니다.

결정적으로 STL.h 없다 생각해야 합니다.

IOI(걸그룹 아닙니다. 정보올림피아드)에서도 쓸수 있는 라이브러리이고

대부분의 자료구조의 함수가 있어서 사용법만 알면 자료구조 함수를 외우거나

구현할 필요가 없는데 대부분 못쓰게 것입니다. PC에서는 써도 제출하면 제출서버에서

컴파일이 안되요.

 

후기를 보니 PC에서 pair 쓰고 구현했다가 서버에서 pair 안되어서 30 까먹었다는 것을 봤습니다.

저도 몰라서 pair 뭔지 봤더니 STL 라이브러리에서 제공하는 기능이었네요.

 

1문제를 1시간 30분에 풀어야 하는데 30분을 까먹으면 문제는 못푼다고 봐야죠.

그래서 많은 기본 함수로 제공하는 기능을 직접 짜봐야하는 연습이 필요합니다.

자료구조에서 배우는 , 스택 등의 코드를 포함해서

어떤 알로그리즘 대회는 종이 몇장에 한해서 미리 준비해 와도 된다는 대회도 있는데

대부분 입사시험은 그렇지 않을 것입니다. 그냥 맨몸입니다.

 

3) 채점사이트와 PC 차이

채점사이트에는 개발 환경이 안되어 있는 경우가 많고 제출 횟수에 제한이 있는 경우도 많아서

보통 PC 비주얼 스튜디오나 이클립스를 제공하여 컴파일 테스트를 하고 

채점 시스템에 붙여넣기를 하고 제출합니다.

일부 공개된 TC 맞아야 제출 의미가 있고 없는 TC 문제의 조건에

따라 만들어보고 테스트를 해보고 되면 제출해야 합니다.

위에서 이야기 처럼 제출 횟수가 있기 때문에 그렇구요.

(최대, 최소, 조건의 조합등 여러가지를 해보야 하지만 전체를 맞추는 사람이 없으면

 맞는 TC갯수로 세우는 경우가 있으니 100 아니라도 제츨해야 합니다.

 부분점수를 주기 좋은 시스템입니다.)

 

그런데 PC에서 되는 것도 채점 시스템에 안되는 경우가 많이 있습니다.

PC에서는 도는데 제출하면 TimeOver SegmentFault 발생합니다.

보통 친절하지 못한 채점시스템은 어디서 죽었는지 알려주지 않습니다.

로그도 없습니다. 그러니까 짜서 제출해야 합니다.

 

TimeOver 코드에 문제가 있어서 빨리 완료하지 못하는 경우가 많아서 그렇다고 치고

SegmentFault 원인을 찾지 못하는데 대부분 경우 배열의 범위를 넘어서 문제가 많이 발생합니다.

 

같은 TC 넣더라도 Visual Studio 너무 친절해서 배열의 범위를 넘어도 0으로 처리해 준다던가

해서 그냥 동작하는데 리눅스기반 채점사이트는 대부분 gcc일텐데 그냥 Segmentfault 입니다.

이것 발생하면 포인터나 배열의 범위를 넘었는지 확인해 보는 것이 필요합니다.

 

그리고 어떤 연습사이트의 온라인채점시스템은 예를 들면 10 TC 입력이 5, 5이고 결과 10 이어야 하는데

너는 9 나와서 틀렸다고 알려주는 시스템이 있는데

아마 시험보는 사이트는 그런 없습니다.

 

전체 몇개 중에 몇개를 맞았음이 입니다. 뭐가 틀리는지 알려주는 없습니다.

문제의 조건을 생각해서 코드를 고쳐야합니다.

 

 

이런 시험은 무궁무진한 종류 문제를 있겠지만 신입사원이고 온라인채점 시스템을

이용해야 한다면 어떤 문제가 나올 있을까 다음 시간에 생각해 보겠습니다.

 

새벽에 해외 주재원이 급한 일로 카톡을 보내 잠이 확깨서 처리하고 오늘은 일찍 써봤습니다.

이런 종류 시험 준비하시는 분들에게 도움이 되었으면 좋겠습니다.

 

#삼성_소프트웨어_역량_테스트

예전에는 정보올림피아드에서도 코드를 작성하고 실행화일을 제출하고

채점자가 여러가지 Test Case 넣어보는 방식으로는 진행을 하였으나

얼마전 부터는 국내 대회에서도 온라인 채점 방식으로 바뀌었습니다.

 

심지어는 제출하면 실시간(?)으로 순위와 점수를 표시해주기도 합니다.

 

최근 여러 회사에서 온라인채점 시스템으로 입사시험을 보는데

(검색해보니 S모사 말고도 몇회사가 있네요. 취준생들은 아시겠지요?)

 

온라인 시스템을 알면 도움이 되는 점이 있습니다.

 

온라인시스템으로 확인할 있는

1) 실행시간

2) 코드 크기 (컴파일전/실행화일)

3) 사용 메모리량 (메모리별)

4) 입력에 대한 출력 비교

 

온라인시스템으로 확인할 없는

1) Readability

2) 코딩 스텐다드

3) 알고리즘

4) 예상하지 못한 Test Case

 

재미 있는 것이 알고리즘(실제로는 Problem Solving 이지만시험을 보는 것인데

무슨 알고리즘을 사용했는지 없습니다.

 

알고리즘을  없으니 해당 알고리즘이 맞는지 여러가지 TC 대한 입력 결과와 출력 결과를

제출한 코드를 컴파일해서 비교해 보는 것입니다.

 

그래서 문제에는 기본적인 Test Case 주고 실제 많은 Test Case 채점시에 확인을 하는 것입니다.

 

만약 전체 Test Case 알려주면 모든 입력에 대해 출력을 하드코딩하는 경우

코드를 보지 않으면 확인 없습니다.

 

, 말이 길어지는데 여기서 한가지 힌트가 있는데

많은 알고리즘 책에 여러가지 정렬 알고리즘을 분석하고 있고 웹상에서 모사의 시험을 준비한다고

하면서 여러가지 정렬 알고리즘을 짜보고 코드를 올리는 분들 봤는데

 

온라인채점 시스템으로는 특정 정렬 알고리즘을 물어볼 없으니

특정 정렬 알고리즘으로 정렬을해라 하는 문제는 나올 없습니다.

정렬은 나중 면접용으로만 준비하시고 실기(?)시험 용으로는 하실 필요가 없습니다.

(정렬의 종류 특징, 어떤 경우에 빠르고 느리게 되는가 이런 것을 면접에서 답할 있는)

 

물론 정렬 알고리즘 별로 속도의 차이가 있으나 TC 따라 많이 다르기 때문에 구분을 없습니다.

가장 짜기 쉬운 정렬하나만 할줄 알면 됩니다. 대부분 그게 버블정렬이지요?

 

아주 특별한 정렬 알고리즘은 필요한데 이건 다음에 설명을 드리겠습니다.

 

#삼성_소프트웨어_역량_테스트

 알고리즘은 대학교 필수로 대학을 졸업한 사람은 누구나 배우지만 실제 시험으로 보게 되면 생각보다 쉽지 않아

당황하게 되고 많은 알고리즘 책과 온라인채점사이트들이 있어서 본인의 노력 여하에 따라 실력을 무료든지 유료든지

늘릴 있는 방법이 많이 있지만 목표에 맞는 방법은 가이드가 필요해서 글을 쓰고 있습니다.  

 

제가 읽었던 "재능은 어떻게 단련되는가?" ( http://book.naver.com/bookdb/book_detail.nhn?bid=6348639 ) 보면

열심히 노력하는 사람이 많이 있지만 누구나 타이거 우즈가 없는 것은 타이거 우즈 만큼

'신중하게 계획된 연습' 하지 않았다고 합니다.

 

'신중하게 계획된 연습'이라는 것은 무작정 많이 열심히 하는 것은 아니고

현재 가장 부족한 것부터 필요한 부터 하는 것인데 이게 혼자하는 것은 힘듭니다.

아무래도 자신을 객관적으로 보지 못하기 때문이죠.

그렇다고 비슷한 수준의 사람들이 모인다고 효과적이지는 않는 같습니다.

물론 함께 하기 때문에 억지로라도 하는 효과는 있기는 합니다.

 

목표는 있지만 맨토가 있는 사람이 없다면 기출문제를 구해 풀어보는 것이 무엇보다도 중요합니다.

S사의 경우는 외부 유출을 금지하기 때문에 쉽지 않지만 합격한 선배라든가 온라인 후기를 보면 조각들은 찾아 있습니다.  

시험의 출제유형이라던가 난이도는 함부러 바꾸지 않기 때문에 기출 문제의 수준과 유사한 수준으로 밖에 없습니다.

출제자들에게 그런것을 요구하기도 하고요. 물론 법에 있는 내용은 아니니 출제자가 맘대로 내면

기출문제와 ~ 다르게 되기도하지만요.

 

4회에서 경우의 수를 공부하는 것이 도움이 된다고 했는데

기본 Problem Solving 위해서 추가로 고등학교 수학 도움이 되는 것을 찾아보면

 

1. 소수 구분 방법

2. 도형의 방정식

3. 밴다이어 그램 등이 있습니다.  

4. 진수 변환

 

1. 소수는 1 자신 이외로 나누어지지 않는 수인데 어디까지 나누어봐야 할까요?

    많은 수를 소수확인하려면 어떻게 해야 할까요?

 

2. 1 방정식, 2차방정식, 원의 방정식 등이 있는데 1,2 방정식의 , 아래에 있는 점을 구분하는 방법

    원의 방정식이 주어질때 원의 안과 밖의 점을 구분하는 방법  

 

3. 밴다이어그램에서 겹쳐진 부분을 2 계산하지 않는 방법  

 

4. 10진수 > 16진수 > 2진수 > 10진수

    수학시간에는 많이 해봤지만 %x %d %o 쓰지 않고 문자열 0x10 문자열 16으로 바꾸는 방법

 

문제를 적기는 팁에 시간이 많지 않아서 위와 같이 간단히 적어보았습니다.

 

백준, 30계단 등에 많이 있는 문제들이고 간단한 수학 문제라서 쉽게 보이지만

시험시간에 위의 내용에 스토리를 입혀서 문제가 나오면 이게 그거구나 하는 생각이 나지 않습니다.

그것도 1시간 30분만에 1문제를 풀어야 하니.  

 

요즘 학생들은 수능세대라서 스토리를 입힌 문제에 익숙하지만 알고리즘문제가 아닌 Problem Solving 문제는

스토리를 까서 알고리즘 문제로 바꾸는 것이 가장 먼저 해야 일입니다.  

 

괴니히스베르크 다리 라는 문제가 있었지요. ( https://ko.wikipedia.org/wiki/%EC%BE%A8%EB%8B%88%ED%9E%88%EC%8A%A4%EB%B2%A0%EB%A5%B4%ED%81%AC%EC%9D%98_%EB%8B%A4%EB%A6%AC_%EB%AC%B8%EC%A0%9C )  

결국 붓그리기 인데 위와 위와 같이 실제적인 상황을 주고 나서 한번에 있는 길이 있느냐? 하고 묻는 것이

Problem Solving인데 이것이 결국 한붓그리기이구나 하고 알는 것이 가장 먼저 해야하는 것입니다.  

 

#삼성_소프트웨어_역량_테스트

자꾸 자꾸 이야기가 산으로 가고 있지만 최근 모사의 입시 시험을 보면

3시간에 2문제가 나오고 있습니다.

 

1 문제는 컴퓨터로 과제를 많이 해봤으면 있을만한 문제

2 문제는 알고리즘을 이용한 Problem Solving 문제

 

1 문제의 경우는 예전에 도스시절 혹은 전용 게임기에서 봤을만한 내용을

아주 간단한 내용만 구현하는 것이 나왔던 같구요,

그래서 TETRIS, 팩맨, 범버맨, 뱀꼬리 잡기, 최근 에니팡  게임을 어떻게 만들면 될까를

평소에 고민해보면 도음이 같습니다.

찾아 보시면 후기등에 있는데 실제 이런 게임을 만드는 것이 아니고

메모리에 아이템들이 있는데 키입력으로 방향키등이 오면 처리를 하고

그럼 처리 결과를 보여주고 방향키로 움직였는데 아이템이면 먹고

벽이면 가지 못하고 이런것.

 

2 문제의 경우는 대표적인 알고리즘을 물어보지는 않고 DFS BFS 알고 완전탐색으로

모든경우는 찾아 있는 그런 문제가 나오는 같습니다.

제가 2번째의 수도쿠는 1 문제로 있고 2 문제로 있을 같습니다.

고등학교때 배웠던 순열/조합 등이 관련이 있는데 경우의 복습을 하면 많은 도움이 됩니다.

 

#삼성_소프트웨어_역량_테스트

많은 분들이 댓글을 주셔서 너무 높은 수준으로 올라가는데

제가 하고 싶은 내용은 그렇게 높지 않습니다.

 

딱 입사 시험에서 보는 온라인 통과하는 수준까지 도달하는 방법입니다.

 

"시험공부의 기술" 제가 감명?을 받은 책이 있었는데

만점을 받기 위해 공부하지 말고 딱 시험에 통과할 만큼만 한다

라는 것이 핵심입니다. 물론 딱 시험에 통과할 만큼이 중요하고 어렵고 핵심이지만

http://book.naver.com/bookdb/book_detail.nhn?bid=129615

 

모든 알고리즘 책에 나오는 복잡도를 계산하는 Big-O Notation 이 있습니다.

O(n^3), O(nlogn) 이 있습니다.

 

물론 가장 낮은 차수의 해법이 훌륭한 알고리즘이지만

일반인(올림피아드 수준으로 토할만큼 연습하지 않은)이  

3시간 동안 2문제를 훌륭한 수준의 답안 제출하기 쉽지 않습니다.

입력 조건을 봐서 입력 갯수가 얼마되지 않는다면 O(2^n) 도 훌륭한 답이 될 수 있습니다.

 

어제 소개드렸던(소개해주셨던) 온라인저지(온라인채점)사이트 들은

대회에서 나왔던 문제가 기본이기 때문에 O(2^n) 이 정도의 복잡도의 답안은

부분점수만 받고 Fail 됩니다.

 

그럼 이제 고민에 빠지지요. 대부분 온라인 채점 사이트는 많은 문제는 있지만 대부분 문제가

설명이 없기 때문에 조언을 해줄 수 만한 (이런 분은 정보올림피아드 출신정도) 사람이 없으면

하다가 말게 됩니다.

 

하지만 모사의 입사 시험 문제는 그 정도까지는 아닙니다.

 

한참 SW 인력을 확충할때는 국내 왠만한 SW 관련 학과 인력을 다 입사 시켜도 부족해서

회사내에서 직무전환을 해서 SW 인력을 만들정도 였고

물론 요즘은 그 정도는 아니지만 정보올림피아드를 풀만한 사람만 뽑는다면

인력충원을 할 수 없어서 입사 시험은 어렵지 않은 편입니다.

 

지금 처럼 온라인으로 시험 보지 않은 시절에는 기술 면접때

몇가지 문제를 주고 메모장?에 코딩을 한 후 설명하던 때가 있었는데

학점도 좋고 포트폴리오도 좋은데 코딩을 한줄도 못했던 사람들이 있어서

최소한의 코딩을 하는 사람을 뽑는 것으로 알고 있습니다.

(정말! 한 줄도 안쓰고 입사하면 열심히 하겠다고 했습니다.)

 

필요한 건 "정말 최소한의 코딩(+문제해결)입니다."

 

쓰다 보니 길어졌는데 제가 생각하는 최소한의 코딩이 무엇인지는 다음에....

(절단 신공아닙니다.)

 

#삼성_소프트웨어_역량_테스트

책이라면 체계적으로 글을 쓰겠지만 게시판에 쓰니 의식의 흐름대로 글을 쓰게 되네요.

 

1편에서는 기본이 되는 무료 강의를 알려드렸는데 정도는 안다라고 하시면

 

신입이든 경력이던 입시시험에서 코딩(이라고 쓰고 문제 해결) 시험을 보면

1:1면접이나 온라인 시험을 보실텐데 인터넷 서점에서 "알고리즘"이라고 검색하면

원하는 것을 찾기가 어렵습니다.

 

1:1 면접 인터뷰에 대해서는 "코딩 인터뷰" 맞는 검색어 인것 같고

번역서등이 있습니다.

코딩 인터뷰 완전 분석 (150가지 프로그래밍 문제와 해법)

코딩 인터뷰 퀘스천 (문제로 풀어보는 코딩인터뷰 가이드북)

 

그리고 Online 시험의 끝왕판은 IOI (걸그룹이 아니고 정보올림피아드) 라서

백준, 30계단 이외에 해외 사이트도 많이 있는데 거기에 맞는 검색어는

"On-line judge" 입니다.

(정말 쉬운 사이트는 국내의 codeup.kr 있는데 이것은 code 처음 배우는 학생들 용입니다.)

하지만 여기의 특징은 문제는 토할만큼 많은데 나의 목표에 맞는 문제를 찾기가 어렵습니다.

 

일단 쉬운 부터 풀어봐야 하는데 이런 책들은 국내에는 없고

아마존에서 algorithm quiz, Coding puzzle 등을 찾아보면 일단 있어야 하는 쉬운 단계의

문제들이 많이 있습니다모사의 입사시험은 이런 퀴즈에서 나오는 것을 알면 쉽게 풀린 만한 것도 있습니다.

 

방향을 잡지 못하는 사람들에게 도움이 되었으면 좋겠습니다.

 

#삼성_소프트웨어_역량_테스트

이 블로그는 어중간한 레벨까지만 문제해결 (알고리즘)에 도움을 드리고자 합니다.

Clien에 올렸던 글을 사정이 있어서 옮겨왔습니다.

 

정말 알고리즘을 잘하고 싶으면 다른 좋은 강의가 많으니 찾아서 보세요.

여기서는 높은 수준까지는 이야기 하지 않습니다.

 

그리고 응원이나 지지는 바라지도 않습니다.

보시고 맘에 안들면 그냥 나가시고 다시 오시지 않으면 됩니다.

 

귀찮게 악플달지 마세요.

아래 글에서 해당 홈페이지가 무료인데 좋아서 소개만 하려고 했는데

이제 방학도 끝나가고 상반기 공채와 하반기 공채도 준비를 시작할때라서

많은 관심이 있으신 같습니다.

 

S사의 입사 시험 문제는 보안 각서? 때문에 전문이 공개되지는 않지만

찾아보시면 군데군데 조금씩 흔적이 있습니다.

 

S사의 입사 시험을 알고리즘 시험이라고 접근하시면 방향이 잘못된것이고

Problem Solving이라고 보셔야 합니다.

 

알고리즘 시험이라면 대표적인 다익스트라 문제를 주거나 설명하시오.

이런 것이 나올텐데 실제 보시면 정말 생활에서 부딛할 만한,

게임은 어떻게 만들까?

 

이런것들이 나옵니다.

 

최근 저희 아이들이 수도쿠에 빠져서 아시아 대회에 까지 갔다왔습니다.

물론 상위권은 중국아이들이 휩쓸고 거의 못풀고 돌아왔지만

 

저는 아이들에게 수도쿠를 필요가 없다고 이야기 해주었습니다.

 

이세돌이 알파고에게 지고난 시점에 인간은 컴퓨터에게 밖에 없고

수도쿠 수준은 1초도 걸려 풀리는데  인간이 그것을 잡고 고민을 해야 하는지 설명을 해주고

컴퓨터와 수도쿠를 해서 이기려고 하지 말고

컴퓨터에게 수도쿠를 푸는 방법을 알려주는 사람이 되라고 해주었습니다.

앞으로는 많은 직업을 컴퓨터가 하게 되니 컴퓨터에게 사람의 일을 있게

알려주는 사람이 대우를 받을 것이다라고요.

 

다들 수도쿠는 아시지요? 6x6 ~ 9x9 다양한 모양이 있습니다.

 

https://ko.wikipedia.org/wiki/%EC%8A%A4%EB%8F%84%EC%BF%A0

 

링크에 나온 수도쿠를 컴퓨터로 한번 풀어보세요.

다들 알겠겠지만 수도쿠 규칙이 무지 간단합니다.

 

S모사 시험의 난이도가 정도....

 

정보올림피아드 준비해보신 적이 있는 사람들은 금방 푸시겠지만

이런 문제를 안풀어보신 분들은 알고리즘 시험에서 A+ 받으셨더라도.

한참 걸릴거에요.

 

#삼성_소프트웨어_역량_테스트

대학교에서 C언어등 언어를 배웠고

알고리즘 과목을 배우고 우수한 성적이 성적표에 있으나

 

삼성 SW 업무역량 시험이나 일부 입사 시험에서 알고리즘 시험을 보는데

어떻게 해야 할지 모르겠다고 생각하는 사람들은

 

검색해서 나오는 책을 보기 보다는 아래 사이트에 PDF 책과 왼쪽의 무료 강의를 보세요.

두번 보세요.

 

https://www.digitalculture.or.kr/koi/StudyBook.do

 

요즘도 그러는지 모르겠는데 예전 학교 다닐때 배웠던 알고리즘 책이 지금도 집에 있는데

보면 거의 정렬 알로리즘의 설명이 반이 넘습니다.

 

작은 회사는 한명씩 붙어서 알고리즘을 묻고 칠판에 설명하는 식의 인터뷰는 어렵겠지만

삼성 처럼 대규모로 온라인 문제를 푸는 형태라면 거의 정보올림피아드와 유사한 형식으로

시험을 밖에 없습니다. (문제는 틀리겠지만)

 

위의 사이트는 초등부터 고등까지를 대상으로 알고리즘을 설명하기 때문에

일단 언어를 사용할 있는 사람이 보면 정말~ 많은 도움이 됩니다.

 

물론 입사가 목적이라면 해당 회사의 수준에 맞는 문제를 풀어봐야 겠지만

 

언어를 배우고 -> 기초 알고리즘 배우고 ->  넘사벽   -> 정보올림피아드 수준

 

이런 넘사벽 중간 어디쯤 실력을 갖추고 싶고 대부분 회사에서는 이정도 실력을 뽑기 때문에

도움이 됩니다.

 

모든 책의 내용을 동영상으로 보여주지는 않지만 여기서 기본 내용을 익히고

30계단이나 백준 같은 곳에서 많은 시간을 보내면 좋을 결과가 있을 것입니다.

 

처음 부터 백준같은 곳에서 정보올림피아드 수준 문제를 풀다 보면 기가 죽게 되면 포기하게 됩니다.

모사의 입사 시험은 정도는 안나와요.

 

#삼성_소프트웨어_역량_테스트

+ Recent posts