콩부방
1509 : 진격 후 결과 본문
728x90
10*10 크기의 보드판이 있다.
각 말들은 제일 아래쪽에서 위쪽 방향으로 진격한다.
장애물은 0이 아닌 숫자로 나타내며, 0보다 크면 블럭 장애물, 0보다 작으면 구덩이 장애물, 0이면 평지이다.
10*10 보드판의 정보가 입력되고, 각 세로줄 아래에 말이 있으면 1, 없으면 0이 입력될 때 각 말의 생존여부를 구하는 프로그램을 구현하시오.
입력
10*10의 보드판의 정보가 입력된다.
11째줄에 각 말의 위치 여부가 입력된다.(1:있음, 0:없음)
출력
블럭 장애물에 부딪혀서 실패시 "세로줄 번호 crash",
구덩이에 떨어져서 실패시 "세로줄 번호 fall",
무사히 통과하면 "세로줄 번호 safe"를 출력한다.
(단, 말이 없는 줄은 아무결과도 출력하지 않는다.)
입력 예시
출력 예시
1 safe
2 crash
5 crash
6 fall
8 crash
10 safe
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[][] a = new int[10][10];
int[] b = new int[10];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
a[i][j]=sc.nextInt();
}
}
for (int i = 0; i < b.length; i++) {
b[i]= sc.nextInt();
}
for (int i = 0; i < 10; i++) {
int cnt=0;
for (int j = 9; j >= 0; j--) { //
cnt++; //10이면 safe
if(b[i]==1 && a[j][i] > 0) {
System.out.print(i+1+" crash\n");
break;
}else if(b[i]==1 && a[j][i] < 0) {
System.out.print(i+1+" fall\n");
break;
}
}
if(b[i] == 1 && cnt == 10) {
System.out.print(i+1+" safe\n");
}
}
}
}
출처 : https://codeup.kr/problem.php?id=1509
진격 후 결과
0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 2 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 1
codeup.kr
728x90
'알고리즘 공부 > CodeUp' 카테고리의 다른 글
1511 : 테두리의 합 (0) | 2021.09.19 |
---|---|
1510 : 홀수 마방진 (0) | 2021.09.19 |
1508 : 나도 IQ 150 (0) | 2021.09.18 |
1506 : 2차원 배열 채우기 4(역달팽이 배열) (0) | 2021.09.18 |
1505 : 2차원 배열 채우기 3(달팽이 배열) (0) | 2021.09.17 |
Comments