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
반응형
728x90
반응형

프로그래머스 연습문제

 

안녕하세요 :) 

오늘 가지고 온 문제는 카카오 인턴십 문제입니다. 

카카오 문제 치고 굉장히 쉬운 편에 속하는데요, 저는 좀 지저분하게 풀었습니다

문제 링크
 

코딩테스트 연습 - 키패드 누르기

[1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL"

programmers.co.kr

 

문제에 나온 조건에만 맞추면 되는 쉬운 문제였습니다 ㅎㅎ 아래에 바로 코드 올려요!

from collections import deque
def checkLeft(num):
    possible = ['1', '4', '7', '2', '5', '8', '0']
    if num in possible:
        return True
    return False
def checkRight(num):
    possible = ['2', '5', '8', '0', '3', '6', '9']
    if num in possible:
        return True
    return False

def solution(numbers, hand):
    answer = ''
    numbers = deque(numbers)

    pads = {'1': (0, 0), '2': (0, 1), '3': (0, 2),
            '4': (1, 0), '5': (1, 1), '6': (1, 2),
            '7': (2, 0), '8': (2, 1), '9': (2, 2),
            '*': (3, 0), '0': (3, 1), '#': (3, 2)}
    
    left = pads['*']
    right = pads['#']
    for num in numbers:
        num = str(num)
        if checkLeft(num) and not checkRight(num):
            answer  += 'L'
            left = pads[num]
        elif not checkLeft(num) and checkRight(num):
            answer += 'R'
            right = pads[num]
        elif checkLeft(num) and checkRight(num): 
            leftDist = abs(pads[num][0] - left[0]) + abs(pads[num][1] - left[1])
            rightDist = abs(pads[num][0] - right[0]) + abs(pads[num][1] - right[1])
            if leftDist < rightDist:
                answer += 'L'
                left = pads[num]
            elif rightDist < leftDist:
                answer += 'R'
                right = pads[num]
            elif rightDist == leftDist:
                if hand == 'right':
                    answer += 'R'
                    right = pads[num]
                if hand == 'left':
                    answer += 'L'
                    left = pads[num]
    return answer

좀 지저분하긴 하네요..

 

그럼 이만 ㅎㅎ

728x90
반응형
728x90
반응형

프로그래머스 연습문제 올바른 괄호

올바른괄호 문제링크

조건 두면서 확인해가는 문제였습니다.

먼저 처음에 ')' 가 들어오면 False를 return 하도록 하고, 두 짝을 cnt 변수로 확인했습니다.

def solution(s):
    answer = True
    
    cnt = 0
    if s[0] == ')':
        return False
    for ch in s:
        if cnt == 0 and ch == ')':
            return False
        if ch == '(':
            cnt += 1
        if ch == ')':
            cnt -= 1
    if cnt != 0:
        return False

    return True

오늘은 이걸로 ㅎㅎ 

이만 :)

728x90
반응형
728x90
반응형

프로그래머스 Level 2 스킬트리

코테 준비는 조금 귀찮지만 그래도 꾸준히 하지 않으면 실력을 다 잃어버리는 것 같아서 하루에 한 문제라도 꾸준히 다시 풀려고 합니다!

문제 링크  programmers.co.kr/learn/courses/30/lessons/49993
 

코딩테스트 연습 - 스킬트리

 

programmers.co.kr

 

from collections import deque
def solution(skill, skill_trees):
    answer = 0
    for item in skill_trees:
        dq = deque(skill)
        for s in item:
            if s in skill:
                if s != dq.popleft():
                    break
        else:
            answer += 1
                
    return answer

 

보통 python으로 문제를 풀 때 자료구조로 deque 를 많이 쓰게 되는 것 같습니다.

오늘은 진짜 오랜만에 간단하게.. 한 문제 풀기 :)

 

그럼 이만!

728x90
반응형
728x90
반응형

코딩 테스트 후기

 

안녕하세요! 엊그제는 신한카드 코딩 테스트를 보고 약간 진이 빠져서 기분이 좋지 않았습니다 ㅠㅠ

요즘 머리를 조금만 써도 쉽게 피로해지는게 진짜 운동 부족임을 느낍니다..ㅠㅠㅠ

 

아무튼! 신한카드 코딩테스트 후기를 가지고 왔습니다.

사실문제가 어렵지는 않았어요. 지원 직무까지 자세히 밝히기는 어렵지만 제가 지원한 직무의 문제는 소프트웨어 전공생인 제가 느끼기에 난이도가 많이 높지는 않았습니다.

문제는 한 5~6 문제가 출제되었고, 기본적인 출력, 자료구조, for 문 등을 쓸 수 있는지 확인하는 정도라고 느껴졌어요. 

그치만 입력과 출력에 요구하는 양식(?), 예를 들면 띄어쓰기라든지... 가 있어서 그걸 맞추기가 어려웠어요ㅠㅠ 

출력이 아니라 그냥 리턴 값만 주는 거였다면 더 쉽게 했을 텐데 말이죠..


요즘 거의 모든 기업에서 그렇든 코딩테스트는 온라인으로 진행되었고, 평가 플랫폼은 구름에서 진행되었어요. 참 불만이 많았습니다 ㅋㅋㅋ...

그리고 구루미를 사용해 화상 감독을 진행했는데요... 방에 같이 시험보는 사람들이 모두 보이고 감독관이 한 명 한 명 호명하며 방 한 바퀴 카메라로 비춰라, 책상 다 비춰라, 노트북 주변 비춰라 하시더라고요. 

책상 위에 노트북, 마우스, A4용지, 펜 이외에 아무것도 있으면 안되고 방에 옷이 걸려있어도 안된다고 다 치우라고 했습니다. 

그래서 저는 제 책상에 있던 잡동사니들을 모두 땅바닥에 내려놓고 시험이 끝나고 그대로 다시 올려뒀어요...ㅋㅋㅋ

공정한 시험을 위한 부정행위 방지라고 하지만 조금 불편했고 진행도 원활하지 않았다는 느낌이 들었습니다.

테스트를 마친 지원자는 화상 감독 시스템과 테스트 화면에서 퇴장하고 종료해도 좋다고 하더라구요. 저는 마지막까지 고민인 게 있어서 끝까지 있다가 종료 1분 전에 제출하고 종료했습니다.


후... 이미 끝났으니 더 생각하고 싶지 않았지만 이렇게 복기해놓으면 다른 취준생분들에게 도움이 되지 않을까 합니다!

좋은 결과가 있었으면 좋겠습니다ㅎㅎㅎ

 

그럼 이만 :)

 


 

결과는...!

광탈!!!! ㅎㅎ
좋은 코테였다..
신한카드 ㅃ2

728x90
반응형
728x90
반응형

하나금융티아이 코딩테스트

지난주 금요일(21일) 하나금융티아이에서 온라인 코딩테스트를 봤습니다.

 

한 3주 전쯤이었나.. 인성검사를 봤고, 코딩테스트는 이렇게 따로 보게 하더라고요!

다른 기업 코딩테스트에서 많이 떨어져서 크게 자신이 있지는 않았고, 그만큼 스스로에게 기대를 하지 않았어서 오히려 가벼운 마음으로 시험을 준비했습니다.

공부하려 노트북을 켰지만 구글링을 하게 되었고 엘리스라는 새로운 플랫폼과 MOU를 맺었다고.. 하는 걸 봐서 왠지 저 플랫폼을 사용하려나? 했는데 딱 맞게 엘리스를 쓰더라구요.

프로그래머스, 코딜리티 등등 다른 플랫폼은 봤어도 엘리스는 처음 들어봤는데 프로그래머스랑 좀 비슷하더라구요! 

 

대망의 시험 당일!

코로나의 확산으로 온라인으로 진행되었고 검색, 책 참고 등등 아무것도 안된다고 하더라구요. 그래서 화면도 공유하고 캠도 키고 시험 봤습니다. (근데... 코딩할 때 구선생님 없이 하는 사람도 있나 ㅠㅠ 구선생님 없이 하려니 좀 걱정됐음)

화면도 공유하고 캠도 켜야 하니 카페보다는 집에서 하는 게 낫겠다 싶어서 집에서 시험을 봤고 주민등록증으로 본인 확인한 후 시간이 되면 시험이 시작됩니다.

언어는 C/C++, Java, Python 이렇게만 볼 수 있었습니다! 저는 Python으로 시험을 봤고,

난이도는... 중하 정도...? 정말 이거라고..? 라며 시험 시간을 한참 남겨놓고 제출 버튼을 누르고 시험을 종료했습니다.

사실 'python 한 줄로 출력' <-- 이거 정말 생각이 안 나서 구글링 하고 싶었는데 ㅋㅋㅋㅋㅋㅋ 

결국 어찌어찌 구글링 없이 풀었어요! 아마 그래서 난이도를 좀 쉽게 낸 거 아닐까 하는 생각이 들었습니다.


 

오늘(8/28) 필기시험 결과가 나왔는데, 결과는 두구둥!!!


합! 격! 

 

와 씨ㅠㅠㅠ 면접 본다ㅠㅠㅠㅠ

벌써 막 청라에 집 알아보면서 김칫국 사발로 드링킹 하는 거 나라구 ㅠㅠㅠㅠ

요 며칠 취업 때문에 기분이 안 좋았는데 코테합해주신 하금티 🥺 감사합네다 ㅠㅠ

면접까지 화이팅 해서 후기로 돌아올게요!!

그럼 이만 :)

 


면접이 미뤄졌었죠! 25일 금요일로 ㅎㅎ

저는 전형포기하게 되었는데, 관련 포스팅을 올렸습니다!

2020/10/02 - [취업해] - [하나금융티아이 신입공채 면접] 전형 포기

 

[하나금융티아이 신입공채 면접] 전형 포기

전형 포기의 이유.. 딱 일주일 전이 하나금융티아이 신입 공채 1차 면접날이었습니다. 2020/08/29 - [취업해] - 하나금융티아이 필기시험(코딩테스트) 후기 요 글에서 볼 수 있듯이 코딩테스트 통과��

haonly.tistory.com

 

완죠니 신나가지고 들떴던 때와 달리 포기하게 됐다니 ㅠㅠ 저도 아쉽습니당.

자세한건 포스팅 확인해주세요~!

728x90
반응형

+ Recent posts