[프로그래머스] 2 x n 타일링 - Python
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제https://school.programmers.co.kr/learn/courses/30/lessons/12900 📍풀이: DP로 경우의 수 메모이제이션타일을 배치하는 경우의 수를i. 세로 타일로 시작할 때 (| 모양 스타트)ii. 아닐 때 (= 모양 스타트) 크게 이렇게 구분할 수 있음 n = 1 이라면i. 1ii. 0-> 1 n = 2 i. 1ii. 1-> 2 n = 3i. n = 2의 경우의 수 (2) (| 모양 채웠으므로 나머지 2개 영역만 채우면 됨)ii. n = 1의 경우의 수 (1) (= 모양 채웠으므로 나머지 1개 영역만 채우면 됨) n = 4i. n = 3의 경우의 수ii. n = 2의 경우의 수 n = 5i. n = 4의 경우의 수ii. n = 3의 경우의 수 그렇다면 f(n)..
[프로그래머스] 등굣길 - Python
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제https://school.programmers.co.kr/learn/courses/30/lessons/42898 📍풀이- DP를 활용해 이차원 배열을 북서에서 남동 방향으로 채워나간다- 장애물이 있는 공간은 경로 숫자를 0으로 만듬- 이차원 배열의 0행, 0열을 1로 초기화 할 때, 장애물이 등장한다면 쭉 0으로 만들면 됨📍코드def solution(m, n, puddles): board = [[0] * m for _ in range(n)] puddle_set = {(x - 1, y - 1) for y, x in puddles} if (0, 0) in puddle_set: return 0 board[0][0] = 1 for i in range(1, m)..