코딩테스트

2022.03.26 LINE - ML Platform Engineer

HTG 2022. 3. 26. 16:30
728x90

LINE 코딩테스트 10:00~13:00 화상 x

총 6 문제, 다 알고리즘 문제로 나왔다.

테스트 케이스만 있는 형태

 

1. 분기가 많이 나뉘는 문제, 구현 - o

여러 분기로 종료를 해야했던 문제였다. 특정 형식을 제외하고는 에러라고 생각해야했긴 때문에 이를 제외하고 종료를 해야했다.

길이가 100 이상, 앞뒤에 공백, 공백이 여러개, 특정 요소가 있는가?

여기서 다른 건 쉽게 하였지만 특정 요소에서 대소문자만 받아야했는데 정규식을 오랜만에 써봐서 많이 헤맸다.

import re
re.sub('[a-zA-Z]','',STRING)
# sub는 특정 원소가 있으면 다른 원소로 변환해주는 함수이다
# 이를 가지고 다른 원소가 있는지를 확인하였다.

이를 사용하였다. 

 

2. 구현 문제 - o

특정 키만 사용해서 작성할 수 있는가를 보는 문제였다.

이 문제도 정규식을 활용하여 대문자의 유무를 판단하고 점수를 계산하였다.

그리고 set을 가지고 어떤 키를 사용하는지 판단하였고

전체 set의 부등호를 사용하여 부분 집합인지를 확인하였다.

그리고 부분 집합이면 더하는 형식으로 하였다.

 

3. 구현? - o

재택인지 아닌지 확인하고 모든 팀이 출근하는지 보는 문제여서

일단 재택인지 아닌지를 확인하고 

안나오는 팀이 있다면 가장 빠른 번호의 그팀 인원을 빼는 방식으로 풀었다.

 

4. 구현 - o

두 리스트를 같게 만드는 문제였는데

누적합을 사용하여 변경할 수 있는지를 확인하는 방식을 하였다.

해당 위치에서 원하는 위치에 갈 수 있는지를 확인하였다.

작거나 같으면 바로 갈 수 있고 크다면 다음이 원하는 위치보다 더 작으면 한번에 못가기 때문에 

넘기고 다음 꺼를 보는 방식을 하였다.

그렇게 같아질때 까지 하였다.

 

5. 정렬 - o

게임 이론 같은 문제였다.

더 높은 능력치를 얻기위해서 능력치가 큰 순으로 정렬을 하고

우선권을 위해 2 사람의 차이를 기준으로 또 정렬을 해주었다.

그렇게 앞에서 부터 우선권을 사용하여 능력치를 더 높게 가지는 방식을 사용하였다.

 

6. 구현 - x

시간이 없어서 못풀었다.

문제를 이해하는 것도 좀 오래걸렸다.

어떤 순서로 해야하는지가 좀 헷갈렸다.

시간이 좀더 있었다면 풀 수 있었을거 같은데 

출력도 좀 어려운 편이라 많은 생각이 필요했던 문제 같다.

 

 

전체적으로 엄청 어렵다기보다는 구현을 해야하는 문제라 시간이 좀 걸리고 분기가 많은 문제라고 생각한다.

테케만 5솔을 하긴 했지만 히든이 있는걸 생각하면 3~4문제일거라고 생각한다.