본문 바로가기
[EST Family 공채] 온라인 코딩테스트 후기 5/30 자정까지 제출하면 되는 거라 아무 생각 없이 들어갔다가 시작 버튼을 눌러버리는 바람에 갑자기 200분 동안 시험을 보게 됐다. 중간에 저녁도 먹어야 해서 급하게 먹고 시험을 이어갔다. 총 3문제가 출제됐다. 1번 문제 1번 문제는 제일 간단해보였는데 자세하게 들어갈수록 따져야 할 조건이 늘어나서 생각보다 오래 걸렸다. 40분 정도 걸렸다. 처음에 코드를 작성하기 전에 큰 흐름을 짤 때에는 미처 생각하지 못했던 엣지 조건들이 중간중간 있었다. 1차로 마무리하고 제출했을 때 2/3 정도의 테스트 케이스가 실패해서 다시 흐름을 살펴봐야 했다. 막상 마지막에 다 정리하고 나니 코드는 간단했지만 도달하는 과정까지 여러 과정을 거치다보니 생각보다는 까다롭게 느껴졌다. 그래도 최종적으로는 일단 주어진 테스트.. 2022. 5. 31.
Arrays.asList() 보통 배열을 List로 변환하고 싶을 때, Arrays.asList(배열) 위 메소드를 사용한다고 알고 있다. 이번 과제를 하면서 int형 배열 int[]을 Integer를 요소로 하는 리스트 List로 변경하고자 했다. Arrays.asList(int 배열) int[] intArr = {1, 2, 3, 4, 5}; List list = Arrays.asList(intArr); //List형태가 아니다 int size = list.size(); //size == 1 List 에 1, 2, 3, 4, 5를 각각 요소로 가지는 사이즈 5의 list를 기대했지만 결과는 int[]인 [1, 2, 3, 4, 5] 요소 하나를 갖는 사이즈 1의 list가 만들어졌다. Arrays.asList()는 primitive.. 2022. 5. 30.
2022 NHN 게임 개발자 채용 코딩테스트 후기 총 180분 동안 4문제를 푸는 시험이었다. 4번 문제 빼고 3솔했다. 단톡방을 보니 4번 문제가 변별력이 있는 문제였다고 생각한다. 4번 문제 푸신 분들도 종종 있었고, 아니면 나같이 4번 문제빼고 3솔 하신 분들이 많았다. 1번 문제 간단한 구현 문제였다. 여러 라운드에서 어떤 조건에 맞는 라운드가 몇 번인지 리턴하게끔 구현해야 했다. 조건에 맞게 여러 반복문을 작성했는데 생각했던 대로 작동하지 않았다. 급하게 작성하다보니 자꾸 한, 두 조건을 빼먹었다. 다 적었다고 생각하고 제출했는데 몇몇 테스트 케이스가 자꾸 실패하는 거였다. 일단 큰 흐름은 다 구현했기 때문에 다른 문제 먼저 풀고서 다시 와서 살펴보기로 했다. 돌아와서 다시 살펴보는데 아무리 봐도 틀린 부분이 없었다. 작성한 코드를 읽고 아무리.. 2022. 5. 29.
[LINE] 2022 SUMMER LINE 채용 연계형 INTERNSHIP 코딩테스트 후기 총 120분에 3문제를 푸는 테스트였다. 단톡방들 보니 역시 다 푼 분들이 많았다. 나와 같이 2솔이신 분들도 많긴 해서 조금은 위안이 됐다. 1번 문제 20분 정도 걸렸다. 문자열을 가공한 후 Map, Set 등 다양한 컬렉션 프레임워크를 사용해서 원하는 값을 뽑아내면 되는 문제여서 금방 풀었다. 2번 문제 40분 정도 걸렸다. 처음에 dfs가 떠올랐는데 조건 범위가 너무 커서 그리디 쪽으로 고민해보다가 dp 쪽으로 접근해보니 문제를 정형화할 수 있었다. 첫 요소부터 차근차근 적어보니 공통된 규칙이 있어 점화식을 세울 수 있었다. 초반에 고민한 시간은 길었는데 막상 정리한 코드는 굉장히 간단했다. dp라고 떠올리는 것과 규칙을 찾는 것이 쉽지 않았다. 3번 문제 40분 넘게 고민하다가 못 풀었다. 다양.. 2022. 5. 28.
배열과 맵 toString() 자바에서 여러 자료형을 JSON형태로 만드는 과제가 있었다. 그 중 배열과 Map 자료형에서 JSON형태로 만들 때, StringBuilder에 "["(배열), "{"(Map) 를 붙이고서, 각 요소들을 붙여주는 식으로 구현했다. 그러다보니 마지막 요소 뒤에도 붙는 ","를 처리해주는 과정이 한 번 더 들어갔다. 근데 배열과 map 클래스에서 overriding된 toString()을 이용하는 풀이를 보고 몰랐던 부분을 정리하고자 한다. Arrays.toString(배열) int[] arr = {1, 2, 3, 4, 5}; String result = Arrays.toString(arr); // result : "[1, 2, 3, 4, 5]" //arr.toString(); (x) -> Object클래스.. 2022. 5. 25.
포도주 시식 - 백준 2156 (Java) https://www.acmicpc.net/problem/2156 처음 풀이 맨 처음 문제를 읽고는 DFS 쪽으로 접근해볼까 했는데 조건이 포도잔이 최대 10000개까지라서 안될 거라 생각했다. 그래서 dp쪽으로 한번 접근해봤다. 연속된 3개의 와인은 마실 수 없다 이 조건을 어떻게 dp 풀이 방식에 적용할 수 있을까 고민했다. dp[x] 는 x번째 와인까지의 최댓값인데 이를 3가지 경우로 나눠서 각각 dp[x][0], dp[x][1], dp[x][2]에 해당 값을 저장한다. dp[ x ][ 0 ] -> x번째까지 연속된 와인이 0개인 경우의 최댓값, 즉 x번째 와인을 선택하지 않은 경우 -> dp[x][0] = dp[x-1][0], dp[x-1][1], dp[x-1][2] 중에 최댓값이 된다. dp[ .. 2022. 5. 24.
[회고] 1차 모의 기술 면접 오늘 일정 중에 모의 기술 면접이 있었다. Section 1에서 학습했던 내용 중 주제를 선택해 페어와 함께 간단하게 모의 면접을 진행하는 일정이었다. 서로 번갈아 가면서 interviewer / interviewee 역할을 맡아 interviewer일 때는 상대방의 영상을 녹화해야 했다. 편하게 생각하려 했는데 녹화란 단어를 들으니 갑자기 긴장이 확 되기 시작했다. 페어 분에게 시작 전에 서로 편하게 생각하면서, 친구에게 설명해주듯이, 녹화 되고 있는 거 신경쓰지 말자고 얘기하면서 긴장을 풀어드리려 했다. (사실 내가 긴장을 풀려고 그랬다) 페어 분이 선택하신 주제는 JVM과 OOP었다. 상대방의 질문이 단답형으로 끝나지 않고, 계속해서 아는 내용을 끄집어 낼 수 있게끔 질문으로 유도하는 것이 필요했다.. 2022. 5. 23.
기타리스트 - 백준 1495 (Java) https://www.acmicpc.net/problem/1495 처음 풀이 문제 읽고 처음 생각난 풀이는 DFS를 이용한 풀이었다. 곡이 진행되고 다음 곡이 진행되기 전에 볼륨을 조절하고, 볼륨이 범위 안에 있다면, 새로운 볼륨으로 다음 곡을 진행하고, 또 그 다음 곡이 진행되기 전에 볼륨을 조절하고.... 중단 조건은 다음에 진행할 곡의 index가 전체 곡 개수와 같을 때이다. 즉 마지막 곡을 연주하고 나서 볼륨을 max값과 비교해 최대값으로 갱신한다. 위 과정을 코드로 나타내면 다음과 같다. public static void dfs(int now, int index, int total, int limit) { if (index==total) { max = Math.max(max, now); ret.. 2022. 5. 22.
[회고] 1일 1커밋 1포스팅 클럽 운영한 지 한 달! 계기 컴공이 아닌 다른 전공으로 학교를 졸업하고서 개발 공부를 시작했기 때문에, 대학생 때 공모전이나 해커톤 참가 등을 통해 개발에 대한 관심을 보여줄 수 있는 활동을 할 수 없었다. 그래서 어떤 식으로 하면 개발에 대한 관심을 보여줄 수 있을까 고민했다. 요즘 신입 개발자를 준비하는 사람들에게는 기본이 된, 그래서 꼭 필요한 깃헙 관리와 블로그 관리를 목표로 잡았다. 취업을 위해서도 필요하지만 개발자로서 가지고 있으면 피가 되고 살이 될 습관이라고 생각했다. 부트캠프 시작 전에도 혼자서 관리를 하고 있었다. 하지만 부트캠프를 시작하면서 다른 사람들과 같이하면 나도 동기부여가 생기고, 다른 사람들도 도움받을 수 있어 여러모로 괜찮겠다 싶었다. 그래서 바로 첫 주에 스터디원들을 모아 두 번째 주부터 클럽 .. 2022. 5. 22.
[회고] 백엔드 부트캠프 벌써 첫 한 달! 해당 글이 부트캠프 메인 페이지에 등록됐다! 부트캠프 운영자분께서 메인 페이지에 내 블로그 글을 등록하고 싶다고 디스코드 메시지를 보내오셨다. 나의 작업물이 공개적으로 노출되는 것이 처음이라 약간은 부끄럽기도 했지만 나의 생각을 남에게 공유할 수 있는 값진 경험이 될 거라 생각했다. 1일 1커밋 1포스팅 클럽을 운영 중인 사람으로서 이렇게 메인에 선정되니 뿌듯했다. 앞으로의 블로그 관리에 큰 동기부여가 된다! 벌써 한 달? 미쳤다 미쳤어... 과정 시작 전에 줌, 디스코드 아이디 만들고, 줌에서 어색하게 첫인사를 했던 게 엊그제 같은데... 역시 시간은 당시에는 모르는데 지나고 보면 항상 말도 안 되게 빠르게 지나간 듯한 느낌이다. 기간이 많이 남았다고 생각해서 정신 바짝 안 차리면 어영부영 6개월 과정.. 2022. 5. 22.