본문 바로가기
  • 머킹이의 머신로그
오늘부터 코딩테스트

[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 입문 프로그램 풀기

by 머킹 2023. 11. 28.
728x90

[파이썬] 프로그래머스  Lv0. 종이 자르기, 두 수의 합

 

안녕하세요 머킹입니다!

우당탕탕 일주일을 보내고 있네요.

포트폴리오 제출이 이번 주 까지더라고요

분명 저번 시간에는 오 기간 길다~ 했는데.. 예..

시간은 이렇게 훌쩍 가버리는군요ㅎㅎ


종이 자르기

 

이렇게 그림으로? 된 문제를 처음 봐서 너무 신기해요

 

def solution(M, N):
    return (M - 1) + (N - 1)

이렇게 하면 되지 않을까.. 했는데 테스트 3개 중 1개만 정답이었습니다.

def solution(M, N):
    return M * N - 1

이 코드로 풀었습니다!

겹쳐서 자를 수 없으므로 가로와 세로의 곱에 1을 빼주면 최소 가위질 횟수가 됩니다.

 

def get_cut_cnt_dfs(width, height):
    width, height = min(width, height), max(width, height)

    if width == 1 and height == 1:
        return 0

    return 1 + get_cut_cnt_dfs(width, height//2) + get_cut_cnt_dfs(width, height-height//2)

def solution(M, N):
    return get_cut_cnt_dfs(M, N)

정석 풀이도 있네요

이게 실전에서는 더 맞는 것 같습니다.

 


두 수의 합

 

이 문제 왜 이렇게 익숙.. 할까요..?

제가 풀었었던 문제인가 너무 익숙해서 오잉?? 했습니다.

def solution(num1, num2):
    return num1 + num2