Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 오블완
- Navigation
- 해외 대외활동
- bfs dfs
- react
- multipart upload
- Project Bee
- service 테스트
- springboot
- 경우의 수
- 비트마스킹
- 창의충전소
- 완전탐색
- 휴대폰 기기
- 자료구조
- 티스토리챌린지
- BFS
- 노마드코더
- 상속 관계 매핑
- ReactNative
- 원복
- 구현
- React Native
- 이영직
- FlatList
- 백준 1992
- web view
- React Natvive
- 폴더구조
- 버튼 활성화
Archives
- Today
- Total
유미의 기록들
[백준 4주차 - 14890] 경사로 (Java) 본문
728x90
반응형
📌 문제
📝 풀이과정
1. 열을 확인하는 방향과 행을 확인하는 방향이 있어야 하므로 열과 행이 바뀐 행렬을 만들어서 map을 두개로 만들어 주었다.
2. map1 과 map2는 같은 로직으로 행마다 지나갈 수 있는 길인지 체크한다
2-1. 각 행에서 현재 값과 다음 열의 값과 같다면 cnt++
2-2. 현재값이 다음 열의 값보다 높이 차이가 1 작고 cnt가 l이상이면 cnt=1
2-3. 현재 값이 다음 열의 값보다 높이 차이가 1 크고 cnt가 0이상이면 cnt=- l+1
2-4. 각 행의 끝까지 돌아서 cnt가 0이상이면 길의 개수 증가
💻 코드
import java.util.*;
import java.io.*;
public class Main{
static int n,l,ret;
static int map1[][];
static int map2[][];
static void go(int[][]map){
for(int i=0;i<n;i++){
int cnt=1;
int j;
for(j=0;j<n-1;j++){
if(map[i][j]==map[i][j+1]){
cnt++;
}
else if(map[i][j]+1==map[i][j+1] && cnt>=l){
cnt=1;
}
else if(map[i][j]-1==map[i][j+1] && cnt>=0){
cnt=-l+1;
}else{
break;
}
}
if(j==n-1 && cnt>=0){
ret++;
}
}
}
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
st=new StringTokenizer(br.readLine());
n=Integer.parseInt(st.nextToken());
l=Integer.parseInt(st.nextToken());
map1=new int[n][n];
map2=new int[n][n];
for(int i=0;i<n;i++){
st=new StringTokenizer(br.readLine());
for(int j=0;j<n;j++){
map1[i][j]=Integer.parseInt(st.nextToken());
map2[j][i]=map1[i][j];
}
}
go(map1);
go(map2);
System.out.println(ret);
}
}
728x90
반응형
'코딩테스트 기록 > 알고리즘 문제' 카테고리의 다른 글
[백준 4주차 - 11723] 집합 (Java) (0) | 2024.04.18 |
---|---|
[백준 4주차 - 19942] 다이어트 (Java) (0) | 2024.04.17 |
[백준 3주차 - 1987] 알파벳 (Java) (0) | 2024.04.14 |
[백준 3주차 - 3197] 백조의 호수 (Java) (0) | 2024.04.13 |
[백준 3주차 - 17071] 숨바꼭질 5 (Java) (0) | 2024.04.12 |
Comments