본문 바로가기

Programmers31

2021 Summer Coding - 여름방학 스타트업 인턴 프로그램 후기 겸 회고 5/17 인생 최초의 면접을 보고 난 후에 6/7 인턴 입사를 결심하였다. 정말 운이 좋게도 첫 번째 면접만으로 인턴 합격이 되었다. 분명 나를 제외하고도 잘하시는 분들이 많았을 것이라고 생각이 되지만 뽑아주셔서 감사하다는 생각밖에 안 났다. 6개월 간의 인턴 생활을 끝내고 현재는 프론트엔드 개발자로 정규직 입사가 확정되었고 지금도 열심히 프로젝트를 진행 중이다! 아마 인생에서 가장 빠르게 지나간 6개월이지 않을까 싶으며 나 스스로도 주변의 다양한 요인들도 모두 함께 가파르게 성장한 시기였다. 회사에서는 react는 애초에 서비스에 쓰이고 있지도 않았으며 기존의 레거시 코드들은 모두 jquery로 이루어져 있었다. 그래서인지 초반에 유지보수 작업들이 들어올 때는 기본적인 문제들도 코드를 파악하느라 시간이.. 2021. 12. 16.
2021 Summer Coding - 여름방학 스타트업 인턴 프로그램 면접 후기 5/17 그리고 5/20 2번에 걸쳐 2곳의 스타트업 기업에 면접을 보고 왔다. 인생 처음의 면접이라 그런지 많이 긴장되기도 하였고 사실 그렇게 당장 취업할 마음이 없어서인지 준비도 많이 안 한 상태에서 본 것이라 대답을 못 한 질문도 상당히 많았고, 면접을 하면서도 배운 것들이 상당히 많아서 정리해보려 한다. 두 곳에서 느낀 점에 대한 비교보다는 면접 준비를 어떻게 해야 하는지 IT기업이든 아니든 개발자 면접이 어떤 식으로 정말 진행되는지를 쓸 것이고 나중에 내가 다시 취업전선에 뛰어들어서 면접을 보려고 할 때 이 글이 미래의 나에게 꼭 도움이 되기를 바라면서 작성해본다. 1. 프로젝트 나는 자소서에 프로젝트를 2가지를 써서 냈다. JS를 이용한 크롤링 프로젝트와 React를 이용한 Blog-Clone.. 2021. 5. 20.
2021 Summer Coding - 여름방학 스타트업 인턴 프로그램 코딩 테스트 후기 5월 9일 프로그래머스에서 주최하는 여름방학 스타트업 인턴 프로그램에 참여하였다. 위와 같은 진행 일정을 통하여 많은 스타트업 기업들 중 5곳에 한 번에 지원하게 해주는 프로그래머스의 아주 좋은 프로그램이다! 코딩 테스트를 일정 수준 이상 통과해야지만 지원한 기업에 이력서가 전달된다고 설명에 상세히 나와있고 코딩 테스트는 2시간 동안 이루어졌다. 코테의 문제 난이도 자체는 평이했다. 그렇게 어려운 문제도 없었고 엄청나게 쉬운 문제도 없었다. 알고리즘 3문제 + SQL 1문제로 구성된 코딩 테스트였는데 나는 SQL을 전혀 공부해본 적도 SQL 언어를 써본 적도 제대로 없어서 4번 문제는 자연스럽게 버렸고 앞에 3문 제 만 다 맞추자는 생각으로 코테에 참여를 했다! 1번 문제를 푸는데 20분이 걸렸다. 딱히.. 2021. 5. 15.
가장 큰 수 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbers return [6, 10, .. 2021. 4. 28.
네트워크 Programmers 프로그래머스 C++ 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers .. 2021. 4. 21.
메뉴 리뉴얼 C++ 2021 KAKAO Blind Recruitment 문제 설명 레스토랑을 운영하던 스카피는 코로나 19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품 메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을지 고민하던 "스카피"는 이전에 각 손님들이 주문할 때 가장 많이 함께 주문한 단품 메뉴들을 코스요리 메뉴로 구성하기로 했습니다. 단, 코스요리 메뉴는 최소 2가지 이상의 단품메뉴로 구성하려고 합니다. 또한, 최소 2명 이상의 손님으로부터 주문된 단품 메뉴 조합에 대해서만 코스요리 메뉴 후보에 포함하기로 했습니다. 예를 들어, 손님 6명이 주문한 단품메뉴들의 조합이 다음과 같다면, (각 손님은 단품메뉴를 2개 이상 주문.. 2021. 4. 20.
2021 프로그래머스 월간 코딩 챌린지 시즌2 후기 4월 15일 목요일 프로그래머스에서 주최하는 월간 코딩 챌린지 시즌2를 보았다. 1차, 2차 총 8문제가 나오며 저번 주에 첫 번째 대회를 보았다. 1번은 level1도 못 미치는 수준이고 2번은 level1.5 정도이고 3번은 level 3으로 책정이 되었지만 개인적으로 level 3~4 사이인 듯하다. 4번은 사실 풀 수 없을 거라 생각하고 시도도 안 했고 level 5로 나온 거 보니 상당히 어려운 문제였던 것 같다. programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어.. 2021. 4. 19.
N진수 게임 C++ 2018 KAKAO Blind Recruitment 문제 설명 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0부터 시작해서 차례대로 말한다. 첫 번째 사람은 0, 두 번째 사람은 1, … 열 번째 사람은 9를 말한다. 10 이상의 숫자부터는 한 자리씩 끊어서 말한다. 즉 열한 번째 사람은 10의 첫 자리인 1, 열두 번째 사람은 둘째 자리인 0을 말한다. 이렇게 게임을 진행할 경우, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, … 순으로 숫자를 말하면 된다. 한편 코딩 동아리 일원들은 컴퓨터를 다루는 사람답게 이진수로 이 게임을 진행하기도 하는데, 이 경.. 2021. 4. 13.
파일명정렬 C++ 2018 KAKAO Blind Recruitment 문제 설명 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 파일을 이름 순으로 정렬하면 나중에 만들어진 ver-10.zip이 ver-9.zip보다 먼저 표시되기 때문이다. 버전 번호 외에도 숫자가 포함된 파일 목록은 여러 면에서 관리하기 불편했다. 예컨대 파일 목록이 ["img12.png", "img10.png", "img2.png", "img1.png"]일 경우, 일반적인 정렬은 ["img1.png", "img10.png", "img12.png", "img2.png"] 순이 되지만, 숫자.. 2021. 4. 12.
압축 C++ 2018 KAKAO Blind Recruitment 문제 설명 압축 신입사원 어피치는 카카오톡으로 전송되는 메시지를 압축하여 전송 효율을 높이는 업무를 맡게 되었다. 메시지를 압축하더라도 전달되는 정보가 바뀌어서는 안 되므로, 압축 전의 정보를 완벽하게 복원 가능한 무손실 압축 알고리즘을 구현하기로 했다. 어피치는 여러 압축 알고리즘 중에서 성능이 좋고 구현이 간단한 LZW(Lempel–Ziv–Welch) 압축을 구현하기로 했다. LZW 압축은 1983년 발표된 알고리즘으로, 이미지 파일 포맷인 GIF 등 다양한 응용에서 사용되었다. LZW 압축은 다음 과정을 거친다. 길이가 1인 모든 단어를 포함하도록 사전을 초기화한다. 사전에서 현재 입력과 일치하는 가장 긴 문자열 w를 찾는다. w에 해당하는 사전의 색인 번호를 출력하고, 입력에서 w를 제거한다. 입.. 2021. 4. 9.