1월 1주차 코딩 테스트


1. 바가지

문제

풀이


def solution(x, y, target):
    if x + y < target:
        return False
    
    visited = set()
    q = []

    q.append(0)
    visited.add(0)

    while q:
        curr_val = q.pop(0)
        if curr_val == target:
            return True
        
        val = curr_val + x
        if val <= x + y and val not in visited:
            q.append(val)
            visited.add(val)
        
        val = curr_val - x
        if val >= 0 and val not in visited:
            q.append(val)
            visited.add(val)

        val = curr_val + y
        if val <= x + y and val not in visited:
            q.append(val)
            visited.add(val)
        
        val = curr_val - y
        if val >= 0 and val not in visited:
            q.append(val)
            visited.add(val)
    
    return False

결과

import math
def solution(x, y, target):
    if target > x + y:
        return False
    
    gcd_xy = math.gcd(x, y)
    if target % gcd_xy != 0:
        return False

    return True

Testcase

입력값 〉 3, 5, 4
기댓값 〉 true

입력값 〉 2, 5, 1
기댓값 〉 true

2. 행렬 곱

문제

풀이

def solution(s, t):
    answer = [[]]
    return answer

Testcase

입력값 〉 [[1, 0, 0], [0, 0, 3]], [[5, 0, 2], [0, 0, 0], [0, 0, -1]]
기댓값 〉 [[5, 0, 2], [0, 0, -3]]

3.

문제

풀이

def solution(s, t):
    answer = [[]]
    return answer

Testcase

입력값 〉 [[1, 4], [2, 2]], [[6, 4], [3, 2]]
기댓값 〉 [[6, 6]]


입력값 〉 [[1, 3], [1, 4]], [[5, 2], [3, 2], [2, 3]]
기댓값 〉 [[5, 2], [3, 2], [2, 3]]

4.

문제

풀이

def solution(nums):
    answer = 0
    return answer

Testcase

입력값 〉 [1, 1, 1, 1, 1, 1, 3, 4, 4, 5, 2, 3, 4, 6, 6]
기댓값 〉 5

5.

문제

풀이

def solution(board):
    answer = [[]]
    return answer

Testcase

입력값 〉 [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 1, 2, 3, 0], [0, 1, 2, 3, 4, 4], [1, 2, 3, 4, 4, 4]]
기댓값 〉 [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]

출처

해당 문제와 코드는 제로베이스(ZeroBase)에서 제공받았습니다.

모든 자료는 저작권법에 의하여 보호받는 저작물로서 이에 대한 무단 복제 및 배포를 원칙적으로 금합니다.