소프트웨어마에스트로 14기 서류 및 1차 코딩테스트 후기

JangGwon·2023년 2월 25일
0

소프트웨어 마에스트로란 ?

소프트웨어 마에스트로는 한국정보산업연합회가 주관하는 SW 인재 육성 정부지원 사업(대외활동)이며,
1, 2차 코딩테스트와 심층 면접을 통해 14기 기준 235명 내외의 SW 인재를 선발하고, 이들이 3명씩 팀을 이뤄 소프트웨어 개발 프로젝트를 진행할 수 있도록 장학금, IT기기, 사무공간, 학습 지원금, 창업 지원금 등을 지원합니다.


지원동기

컴퓨터공학과 학생들이라면 소프트웨어 마에스트로 과정은 누구나 들어봤을정도로 유명한 대외활동이라고 생각합니다. 학부생 입장에서도 경험해보기 쉽지않은 프로젝트 규모와 지원 규모


서류 평가 (2023.01.09 ~ 2023.02.09)

서류 평가에서의 자기소개서 항목은 총 4개로 작년, 제작년과 다르지 않았습니다.

자기소개 1번. 소프트웨어분야 전문성을 키우기 위해 남들과 달리 특별한 노력을 한 경험을 서술하여 주시기 바랍니다. (1700자)

  • 프로그래밍 공부를 공부하게 된 계기
  • 고등학교와 대학교에서 진행한 활동과 개인프로젝트, 팀 프로젝트를 진행하며 배운점과 느낀점

자기소개 2번. 귀하의 장래희망을 서술하여 주시기 바랍니다. (600자)

  • 창업가이자 개발자가 되고싶다고 작성하였습니다.

연수계획서 1번. 귀하께서는 2023년도 「SW마에스트로」 과정에서 동료 연수생들과 협력하여 새로운 프로젝트를 완성하여야 합니다. 어떤 능력을 갖춘 연수생들과 어떠한 프로젝트를 어떻게 수행할 것인지 귀하의 구체적인 계획을 서술하여 주시기 바랍니다. (1000자)

  • 소프트웨어마에스트로 연수생이 된다면 진행하고 싶은 프로젝트를 기재하였습니다.
  • 어떤 동료와 함께 하고 싶은지 작성하였습니다.

연수계획서 2번. 2023년도 「SW마에스트로」 과정에서는 연수생에게 장학금, IT기기, 프로젝트 활동비 등을 지원할 예정이며, 본인이 희망하는 온라인 강의와 프로젝트 수행을 도와주는 멘토를 통해 귀하의 SW능력을 향상 및 발전시킬 수 있는 기회를 제공하고 있습니다. 앞으로 귀하께서 본 과정을 통해 이루고자하는 목표가 무엇인지 구체적으로 서술하여 주시기 바랍니다. (500자)

  • 프로젝트를 진행하며 멘토님들로 부터 어떤 도움을 받고 싶은지 작성하였습니다.



1차 코딩테스트 (2023.02/25)


이번 소프트웨어마에스트로 코딩테스트에서는 작년과 달리 웹 문제가 사라지고 알고리즘 문항 4문제와 SQL 문항 1문제로 총 5문제가 출제되었습니다. 저는 평소에 알고리즘 문제를 꾸준히 풀고 있던지라 평소에 약한 dp문제들 다시 풀어보기 외에는 시간투자를 하지 않았고, SQL은 대학교 데이터베이스 수업을 수강한 지 4년이 지나 모두 까먹은지라.. 짧은 유튜브 강의들과 프로그래머스 SQL 고득점 키트를 통해 준비하였습니다.
시험 당일, 프로그래머스에서 사이트가 터져 45분의 추가시간을 받았지만, 저에게 따로 피해는 없었어서 2시간 45분의 시험시간을 가질 수 있었습니다. (시험끝나고 나서 45분 더 준 이유를 알게된 케이스....)


1번 문제는 단순 구현 알고리즘으로 배열을 주고 조건 식에 따라 평범한 구현 문제로 저는 배열을 이용하여 풀었습니다.


2번 문제는 백트래킹, 브루트포스 유형의 문제였습니다.
문제 내용은 모눈 종이에 직선들이 그려져 있고 이 사이에서 가장 긴 십자가 구하는 문제로 저는 모눈 종이에 모든 점을 찍어 본후 가장 긴 십자가를 찾는 브루트포스 방식으로 풀었습니다. 단, 십자가의 조건 구현, 예외사항들이 꽤나 있던 문제로 저는 2번문제에서 가장 많은 시간을 사용하였습니다.

3번 문제는 조합, 완전탐색 문제입니다.
문제 내용은 1달이 지난 현재 정확히 기억은 나지않지만, 설치된 도미노 중 아무거나 K개를 먼저 제거를 하고 특정 도미노를 밀었을 때, 같이 넘어지는 도미노의 갯수가 가장 적은 경우를 찾는(?) 문제였던걸로 기억합니다.
백트래킹을 이용해 k개를 뺀 도미노 조합을 만들어 각 조합마다 최대 몇개가 넘어가는지 체크하는 방법으로 문제를 풀었습니다. 다른 1,2,4문제는 맞췄다고 확신하지만, 이 문제는 지금 생각해보니 틀린거같네요

4번 문제는 bfs문제 입니다.
문제 내용은 테이블에서 모든사람의 젓가락 짝을 최소의 교환을 통해 짝을 맞추는 문제로, 젓가락 교환은 자신의 양옆사람만 가능하다는 조건이 있었습니다.
ex.) AB DC BC DB -> AA BB CC DD
저는 처음 이 문제를 보자마자 bfs 기본 문제임을 확신했고, 각각의 젓가락 짝 상황을 pair를 취급하는 Vector에 담아 BFS 돌리는 방식을 사용하여 풀었지만, 시험이 끝난 후 젓가락 상황을 벡터로 다루는 대신 string으로 변환하여 사용한다면 공간과 코드 가독성에서 이점을 얻지 않았을까라는 아쉬움이 있었습니다.

5번 문제는 sql 문제로 사용자들의 아이디와 숫자를 추출한 후 재조합하는 문제였습니다.
해당 문제는 제가 숫자와 영어를 분리하는 법을 몰라 건들지 못했습니다. 나중에 풀이 방법을 찾아보니 Lpad와 Rpad를 이용하여 푸는 문제 였습니다.


나의 풀이순서

저의 풀이 순서는 5번(포기) -> 4번 -> 2번 -> 1번 -> 3번 순서로 문제를 풀었고 투자시간으로는....
5번 시도 시간 3분 -> 4번 풀이시간 20분 -> 2번 풀이시간 1시간 -> 1번 풀이시간 10분 -> 3번 나머지 시간 을 사용하였습니다.
알고리즘 부분은 그래프와 구현 위주의 문제들이 나와서 대체로 쉬웠지만, sql은 프로그래머스의 고득점 kit 준비로는 역부족이였습니다. 그래서 다음 시험까지 sql을 집중적으로 공부할 예정입니다.

0개의 댓글