2016년 4월 20일 수요일

[취업]'삼성전자 S/W역량 테스트' 후기

'









삼성전자 S/W역량테스트를 4/17일 일요일날 수원 기흥 인재개발원에서


진행하였습니다.


지방에 살던터라, 전날부터 가서 당일 아침 버스 타고가서 치뤘구요



시설은 정말 좋더라구요


























호텔 화장실인줄 알았습니다...



어쨋든 시험장에 들어가니 한 고사장에 20명정도, 한 층마다 13고사장 까지 있는데


3개층을 전부 쓰니 한 800명정도는 치는것 같더군요




그리고 오리엔테이션 이후 시작,



1번 문제의 경우


비행기가 적 비행기를 피하고, 코인을 최대로 먹을 수 있는 경우를 찾아라 인데,


조건이 주어집니다.

적 비행기를 만나면 -1 감소, (0에서 적비행기 만나면 종료), 코인을 먹으면 +1


폭탄은 한번 쓸 수 있는데, 쓸 경우 비행기 위치에서 위로 5칸 정도의 비행기는 제거


라는 경우가 있습니다.


아래 그림과 같습니다.


































움직이는 것은, 한번에 좌,우,제자리 그리고 y는 자동적으로 한칸씩 전진하게 됩니다.




2차원 배열의 값을 넣고,


즉 이를 토대로 깊이 우선 탐색 및 동적프로그래밍을 설계하는 것 같더군요


깊이 우선 탐색에 관한 경우는 아래와 같이 설계하였었습니다.




for(int moveX = -1 , moveY = 1; moveX <= 1; moveX++)
dfs(y+moveY , x+moveX, bool bomb(true),muser,bool isvisited)


unUsedBomb(board) //지웠던 비행기 복구

for(int moveX = -1 , moveY = 1; moveX <= 1; moveX++)
dfs(y+moveY , x+moveX, bool bomb(false),muser,bool isvisited)


이런 식으로, 구성하였고, 폭탄을 사용하지 않고 탐색하는 경우,


폭탄을 사용하고 탐색하는 경우, 두가지 경우로 확인하였습니다.


그리고 종료조건에 도달시 리턴하는 형식으로 했었는데,


DP에 대한 설계를 제대로 하지 않아, 타임아웃으로 인해


큰 배열 값의 경우는 시간초과가 걸려버렸습니다.


값은 정확히 나와서 기분 좋았는데...


2번 문제는 1번문제를 일정 수준 이상 풀어야 다음으로 넘어갈 수 있어서,


멘붕 상태로 20분을 보내게 되었던 것 같습니다.


참..2번째 치는건데 기분 다운되더군요.



아무래도 깊이우선 탐색과 동적프로그래밍에 대해 문제를 주로 내는 것 같습니다.


만약 시험을 치신다면 탐색, DP 위주로 공부하심이 좋을거 같네요














댓글 18개:

  1. 혹시 궁금한점 물어봐도 될런지요....
    c++로 짜신거 같은데 string이나 vector 헤더 사용이 가능할까요?

    답글삭제
    답글
    1. 스탠다드 라이브러리 사용 가능합니다 ㅎㅎ
      string, vector 둘다 사용 가능합니다.

      삭제
    2. 와우 답변 감사드려요. 그럼 algorithm 헤더도 당연 사용가능하겠죠? ㅎㅎ

      삭제
  2. 궁금한게 있어서 질문드립니다.
    1번 문제 정답이 최대 점수만 찾으면 되는 건가요?

    폭탄을 어디서 터트리고 혹은 경로는 구하지 않아도 되나요?

    답글삭제
    답글
    1. 경로에 대해서는 언급이 없었습니다!

      삭제
  3. 2번은 어떤 알고리즘이 사용된 문제였는지 알수 있을까요??

    답글삭제
  4. 1번 문제를 다푼 사람만 2번 문제를 풀 수 있기에 저는 모르겠습니다 ㅜ

    답글삭제
  5. 이번 하반기 시험 준비하다가 궁금한게 있어 알수있을까 질문드립니다.
    혹시 언어 C++ 선택했을 때 파일입출력이나 입출력 함수로 C의 함수를 사용해도 상관이 없나요 ??

    답글삭제
    답글
    1. 혼용하시지 않는다고 가정했을 때 하나도 통일하심 되요 C style이던 C++ Style이던. 헤더파일만 잘쓰시면 뭐 문제될거 있나요?

      삭제
    2. 딱히 문제될건 없었습니다 ^^
      결과만 잘나오는게 중요했던거 같네요

      삭제
    3. 아 그렇군요 답변 감사드립니다!
      혹시 내일 시험 치르신다면 좋은 결과 있기를 바랄께요 ^~^

      삭제
  6. 안녕하세요. Visual studio 버전이 몇 인지 아시나요? 2013인지 2015인지 궁금합니다.

    답글삭제
    답글
    1. 11~13사이 였던 것 같은데 정확하게는 기억이 나지 않네요 ㅠ

      삭제
  7. 작성자가 댓글을 삭제했습니다.

    답글삭제
  8. 작성자가 댓글을 삭제했습니다.

    답글삭제
  9. 안녕하세요 1번에 답이 어떤식으로 출력되어야 하는지 궁급합니다.

    답글삭제
    답글
    1. 출력 표준은 제시를 해주는데
      case 1 : 코인 갯수
      case 2 : 코인 갯수

      입니다.
      case 1 은 5x5
      case 2 는 7x7 으로 판 크기가 변경되는 형식입니다.

      삭제