상세 컨텐츠

본문 제목

[카카오 코딩테스트 기출] 키패드 누르기 (1차)

카테고리 없음

by yukmim 2022. 1. 4. 15:23

본문

<오류 난 코드>

def keypaddis(nowloc,nextloc):
    keypad =  {
        1:[0,0], 2:[1,0], 3:[2,0],
        4:[0.1], 5:[1,1], 6:[2,1],
        7:[0,2], 8:[1,2], 9:[2,2],
        "*":[0,3], 0:[1,3], "#":[2,3],
    }
    
    x1, y1 = keypad[nowloc]
    x2, y2 = keypad[nextloc]
    
    return abs(x1-x2) + abs(y1-y2)

def solution(numbers, hand):

    answer = ''
    leftlocation = "*"
    rightlocation = "#"
    
    for number in numbers:
        if number == 1 or number == 4 or number == 7:
            answer += "L"
            leftlocation = number
            
        elif number == 3 or number == 6 or number == 9:
            answer += "R"
            rightlocation = number
        
        elif number == 2 or number == 5 or number == 8 or number == 0:
            leftdis = keypaddis(leftlocation,number)
            rightdis = keypaddis(rightlocation, number)
            
            if leftdis < rightdis:
                answer += "L"
                leftlocation = number
            elif rightdis < leftdis:
                answer += "R"
                rightlocation = number
            else:
                if hand == "left":
                    answer += "L"
                    leftlocation = number
                else:
                    answer += "R"
                    rightlocation = number
            
    return answer

변수를 여러개를 한번에 만들 때 변수의 개수와 값의 수가 맞지 않으면 뜨는 오류가 발생 

어느 부분이 잘못된지 모르겠다 ㅠㅠ

 

ValueError: not enough values to unpack (expected 2, got 1)

+ keypad의 4[0,1] 부분에 온점을 써서 일어난 오류 ..

그래서 값이 2개들어가야하는데 1개만 넣어져있다고 오류가 난거였다

 

<실행되는 코드>

 

댓글 영역