코딩테스트/프로그래머스
[Java] 프로그래머스 - 등굣길 (3단계)
배똥회장
2022. 7. 27. 15:00
728x90
코딩 테스트 풀이 체크리스트 |
|
2시간 내에 풀었는가? | O |
본인의 실력으로 풀었는가? | O |
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int solution(int m, int n, int[][] puddles) {
//계산할 2차원 배열
int[][] map = new int[m+1][n+1];
//물에 잠긴 지역 체크용 2차원 배열
boolean[][] check = new boolean[m+1][n+1];
//puddles를 통해 check 배열에 표시
for (int i = 0; i < puddles.length; i++) {
int x = puddles[i][0];
int y = puddles[i][1];
check[x][y] = true;
}
//집에서부터 한 칸씩 계산하기
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if (check[i][j]) continue;
if (i == 1 && j == 1) {
map[i][j] = 1;
} else {
map[i][j] = (map[i-1][j] + map[i][j-1]) % 1000000007;
}
}
}
return map[m][n] % 1000000007;
}
}
정확성 테스트
테스트 1 〉 | 통과 (0.04ms, 73.6MB) |
테스트 2 〉 | 통과 (0.03ms, 77.3MB) |
테스트 3 〉 | 통과 (0.03ms, 73.7MB) |
테스트 4 〉 | 통과 (0.03ms, 77.9MB) |
테스트 5 〉 | 통과 (0.04ms, 72.9MB) |
테스트 6 〉 | 통과 (0.03ms, 74.1MB) |
테스트 7 〉 | 통과 (0.05ms, 72.6MB) |
테스트 8 〉 | 통과 (0.04ms, 76.8MB) |
테스트 9 〉 | 통과 (0.04ms, 77.8MB) |
테스트 10 〉 | 통과 (0.03ms, 72.7MB) |
효율성 테스트
테스트 1 〉 | 통과 (0.61ms, 52.1MB) |
테스트 2 〉 | 통과 (0.18ms, 53.1MB) |
테스트 3 〉 | 통과 (0.37ms, 51.8MB) |
테스트 4 〉 | 통과 (0.49ms, 52MB) |
테스트 5 〉 | 통과 (0.43ms, 52.1MB) |
테스트 6 〉 | 통과 (0.70ms, 52.7MB) |
테스트 7 〉 | 통과 (0.38ms, 51.7MB) |
테스트 8 〉 | 통과 (0.51ms, 52.3MB) |
테스트 9 〉 | 통과 (0.56ms, 52.1MB) |
테스트 10 〉 | 통과 (0.46ms, 52.4MB) |
위의 for문이 이해가 안 되면 그림을 보면 이해가 될 겁니다!
728x90