Q43105_정수 삼각형
문제 풀이
(1) 문제
(2) 코드
코드
풀이 방식
1.
둘째 줄부터 코드 시작
2.
해당 값의 왼쪽 위, 오른쪽 위의 값 중 더 큰 값을 자기 자신과 더하여 갱신
(단, 양 끝 값은 한 쪽 값만 존재하므로 예외 처리 필요)
3.
마지막으로 갱신 후, 마지막 줄에서 가장 큰 수 리턴
Q42898_등굣길
문제 풀이
(1) 문제
(2) 코드
코드
풀이 방식
주의할 점
•
m이 가로(열) 개수, n이 세로(행) 개수
1.
n * m 크기의 이중 리스트 선언 후 0으로 초기화
2.
웅덩이가 있는 곳은 -1로 초기화
3.
if((i == 0 and j == 0) or (arr[i][j] == -1)) : 집이 있는 곳이나 웅덩이가 있는 곳이면 continue
4.
elif(i == 0):
if(arr[i][j-1] == -1):
arr[i][j] = -1
else:
arr[i][j] = 1
elif(j == 0):
if(arr[i-1][j] == -1):
arr[i][j] = -1
else:
arr[i][j] = 1
Python
복사
5.
else부분
왼쪽 위쪽 값이 모두 -1이면, -1
한쪽만 -1이면, 다른 쪽의 값으로 갱신
둘다 -1이 아니라면, 양쪽 값을 더해서 갱신
6.
학교 위치의 값이 -1이면 경우의 수가 없으므로 0 리턴, 그 외는 1000000007의 나머지 값을 리턴