라인 인턴십은 자소서 작성 없이 바로 코딩 테스트를 지원할 수 있어서 신청하였다.
알고리즘 공부를 하면서 코딩테스트 경험을 쌓을 수 있어서 좋은 기회라고 생각하였다.
코딩 테스트는 2019년 9월 22일 오전 10시 - 오후 1시까지 3시간 동안 진행되었다.
코딩 테스트가 끝나고 6문제를 다 풀었기 때문에 실수가 조금 있어도 합격할 것이라 생각하였고 합격하였다.
시험은 프로그래머스에서 진행되었고
3시간 동안 총 6문제를 풀어야 했으며 온라인으로 진행되었다.
난이도는 일단 6문제 모두 문제를 읽고 바로 어떻게 풀지 생각할 수 있었고 구현만 하면 되었기 때문에
10점 만점이라면 4점 정도였다.
자세한 문제는 설명할 수 없으므로 필요한 개념과 유사한 문제는 다음과 같다.
문제 1
10명 정도에 사람이 있고 다양한 크기에 메시지가 들어오면 최대한 빠르게 해결하는 것이었다.
배열을 두고 배열의 크기 비교만 할 수 있다면 풀 수 있는 문제였다.
문제 2
크기를 알 수 없는 숫자가 입력으로 들어왔다.
1. c++의 getline()이나 c의 gets(), fgets() 함수를 사용해서 두 번 입력받고, 첫 줄을 ' '기준으로 잘라서 사용한다.
2. while(cin >> input) 혹은 while(scanf("%d", &input))을 사용하면 더 이상 입력값이 없을 때까지 입력을 받아주므로 위 모양으로 사용한 후 마지막 값은 k라고 생각하면 된다.
두 가지 방법을 이용해 값을 받을 수 있다면 풀 수 있는 문제였다.
문제 3
회의실 배정 문제와 매우 유사하지만 입력 값이 작아 완전탐색으로도 가능한 수준이었다.
https://www.acmicpc.net/problem/1931
문제 4
기억이 잘 안나지만 탑 문제와 비슷하고
오른쪽과 왼쪽으로 가는 방향 모두 확인해야 했던 것 같다.
다음 문제를 풀면 도움이 될 것이다.
https://www.acmicpc.net/problem/2493
문제 5
좌표계가 두 명의 캐릭터가 있고 최단 거리와 경우의 수를 구하는 것이었다.
bfs 같지만 bfs로 풀면 시간 초과가 나오고
수학적으로 풀면 간단하게 풀 수 있는 문제였다.
--------------------------------------
여기까지 1시간 30분만에 끝내고 남은 시간 동안은 6번을 풀고 다른 문제를 검토하였다.
문제 6
6번은 크기와 숫자가 주어지면 다음과 같이 숫자를 print 하는 문제였는데
피라미드 별 찍기와 같은 문제를 많이 풀어보았으면 시간이 걸리더라도 차근차근 해결할 수 있을 문제였다.
하지만 자세한 사항들이 많아서 꽤 오랜 시간이 걸렸다.