Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 강의실배정
- Spring Framework MVC
- 백준11047
- dfs
- 신입 사원
- javascript
- 알고리즘
- jsp
- 백준11000
- BFS
- BFS/DFS
- 타겟넘버
- 백준
- 백준4796
- 그리디
- 자바
- 동전0
- 백준12845
- 바닥장식
- 백준1969
- 프로그래머스43165
- 백준1388
- 백준2606
- 프로그래머스
- 구현
- 백준 1946
- 백준10988
- Java
- 펠린드롬
- sql
Archives
- Today
- Total
The Kkang's man
[ 자바 / Java ] 백준 1388 : 바닥 장식 본문
문제
풀이
- BufferedReader + StringTokenizer를 통해 행 / 열 / 문자열을 입력받는다.
- 나눠진 문자열이 들어갈 이중배열 floor를 선언한다.
- 정답을 저장할 cnt를 선언한다.
- 입력받은 문자열을 charAt을 통해 하나씩 나누어 floor에 담는다.
- 배열 안에 담긴 문자가 ' - ' 일 경우 다음 칸이 ' | ' 이거나 마지막 칸일 경우 cnt++
- 배열 안에 담긴 문자가 ' | ' 일 경우 다음 줄이 ' - ' 이거나 마지막 줄일 경우 cnt++
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Floor_1388 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
char[][] floor = new char[N][M];
int cnt = 0;
int i, j;
for(i=0; i<N; i++) {
String a = br.readLine();
for(j=0; j<M; j++) {
floor[i][j] = a.charAt(j);
}
}
for(i=0; i<N; i++){
for(j=0; j<M; j++){
if(floor[i][j] == '-'){
if(floor[i][j+1] == '|' || j == M-1){
// 다음 칸(j+1)이 '|' 이거나
// 같은 행의 마지막 방인 겨우
cnt++;
}
}
if(floor[i][j] == '|'){
if(floor[i+1][j] == '-' || i == N-1){
// 다음 줄(i+1)이 '-' 이거나
// 같은 열의 마지막 방인 경우
cnt++;
}
}
}
}
System.out.println(cnt);
}
}
'알고리즘 > BFS&DFS' 카테고리의 다른 글
[ 자바 /Java ] 프로그래머스 43165 : 타겟넘버 (0) | 2021.07.04 |
---|---|
[ 자바 /Java ] 백준 11724 : 연결 요소의 개수 (0) | 2021.06.27 |
[ 자바 /Java ] 백준 2606 : 바이러스 (0) | 2021.06.27 |
[ 자바 / Java ] 백준 1260 : DFS 와 BFS (0) | 2021.06.20 |
Comments