반응형
이 문제는 손으로 풀면 진짜 쉽게 할수있는데 ㅎ..
고딩때 순열조합에 나름 자주 나왔던 문제였다
쨌든 그때의 기억을 살려서 손으로 풀던걸 코드로 재현했다
def solution(m, n, puddles):
road = [[0] * m for _ in range(n)]
for puddle in puddles:
road[puddle[1]-1][puddle[0]-1] = -1
for i in range(1,n):
if road[i][0] != -1:
road[i][0] = 1
else:
break
for i in range(1, m):
if road[0][i] != -1:
road[0][i] =1
else:
break
for i in range(1, n):
for j in range(1, m):
if road[i][j] == -1:
pass
else:
if road[i-1][j] != -1:
road[i][j] += road[i-1][j]
if road[i][j-1] != -1:
road[i][j] += road[i][j-1]
answer = road[n-1][m-1] % 1000000007
return answer
처음에 잘 한거 같았는데 답이 틀리길래 점검을 해보니
road[puddle[1]-1][puddle[0]-1] = -1
이 부분이 일단 첫번째 문제였다
저렇게 해야하는데
[puddle[0]-1][puddle[1]-1] 이렇게 해서 틀렸다
x,y좌표계랑 2차원 배열이랑 항상 헷갈린다
그리고 문제에 1000000007 로 나눈 나머지를 답으로 리턴하라고 했는데
문제를 제대로 안읽어서 이 부분에서도 오답이 나왔었다
언제나 문제를 잘 읽어야한다
화이팅!!
반응형
'개발💻 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 이중우선순위큐 Python (0) | 2024.05.22 |
---|---|
[프로그래머스] 정수 삼각형 Python (0) | 2024.05.21 |
[프로그래머스] 단어변환 Python (20) | 2024.03.22 |
[프로그래머스] 베스트앨범 Python (21) | 2024.03.21 |
[프로그래머스] 네트워크 Python (21) | 2024.03.19 |