728x90
반응형
라인플러스 2019 상반기 인턴 채용 코딩테스트
2019년 상반기 LINE 인턴 채용 코딩테스트 문제 해설 - LINE ENGINEERING
LINE에서 개발 직군을 뽑을 때 신입이든 경력이든 가장 먼저 보는 것이 코딩 테스트입니다. LINE의 코딩 테스트는 일반적인 알고리즘 경진대회와는 경향이 조금 다른데요. 알고리즘 경진대회는 1��
engineering.linecorp.com
from collections import deque
def solution(conyPosition, brownPosition):
time = 0
visit = [[0]*2 for _ in range(200001)]
q = deque()
q.append((brownPosition, 0))
while 1:
conyPosition += time
if conyPosition > 200000 or conyPosition < 0:
return -1
if visit[conyPosition][time%2]:
return time
for i in range(0, len(q)):
current = q.popleft()
currentPosition = current[0]
newTime = (current[1]+1)%2
newPosition = currentPosition - 1
if newPosition >= 0 and not visit[newPosition][newTime]:
visit[newPosition][newTime] = True
q.append((newPosition, newTime))
newPosition = currentPosition + 1
if newPosition < 200001 and not visit[newPosition][newTime]:
visit[newPosition][newTime] = True
q.append((newPosition, newTime))
newPosition = currentPosition * 2
if newPosition < 200001 and not visit[newPosition][newTime]:
visit[newPosition][newTime] = True
q.append((newPosition, newTime))
time += 1
728x90
반응형
'코딩해 > 코테준비' 카테고리의 다른 글
[프로그래머스 Golang] 문자열 다루기 기본 (0) | 2021.03.25 |
---|---|
[프로그래머스] C++ 연습문제 최댓값과 최솟값 (0) | 2020.11.06 |
[프로그래머스] Python 키패드 누르기(카카오 인턴십) (0) | 2020.10.06 |
[프로그래머스] Python 두 개 뽑아서 더하기 (월간 코드 첼린지) (0) | 2020.10.03 |
[프로그래머스 Python] 올바른 괄호 (연습문제) (0) | 2020.10.03 |