Deff_Dev
[코드업] 진격 후 결과 (C++) 본문
문제
이 문제는 11 * 10 크기의 보드판에서 각 말(1)이 제일 아래쪽에서 위쪽 방향으로 이동한다.
장애물은 0보다 크면 블럭 장애물, 0보다 작으면 구덩이 장애물, 0은 평지로 이루어진 길을 의미할 때, 각 말의 이동 결과를 출력한다.
블럭 장애물에 부딪혀서 실패시 "세로줄 번호 crash",
구덩이에 떨어져서 실패시 "세로줄 번호 fall",
무사히 통과하면 "세로줄 번호 safe"를 출력한다.
풀이
중첩 for문을 이용하여 말을 찾고 진격하는 방법으로 풀이했다.
#include <iostream>
// https://codeup.kr/problem.php?id=1509&rid=0
using namespace std;
int map[12][11] = { 0, };
int main() {
for (int i = 1; i <= 11; i++) { // 맵 입력
for (int j = 1; j <= 10; j++) {
cin >> map[i][j];
}
}
for (int i = 1; i <= 10; i++) {
if (map[11][i] == 1) { // 말 찾기
for (int j = 10; j > 0; j--) { // 진격 시작
if (map[j][i] > 0) { // 장애물에 부딪힘
cout << i << " " << "crash" << endl;
break;
}
else if (map[j][i] < 0) { // 장애물에 빠짐
cout << i << " " << "fall" << endl;
break;
}
if (j == 1) { // 무사 통과
cout << i << " " << "safe" << endl;
}
}
}
}
return 0;
}
'코딩테스트 > 코드업' 카테고리의 다른 글
[코드업] (재귀 함수) 1부터 n까지 출력하기 (C++) (0) | 2024.03.28 |
---|---|
[코드업] 크레이지 아케이드 (C++) (0) | 2024.03.27 |
[코드업] 생명 게임 1 (C++) (2) | 2024.03.27 |
[코드업] 지뢰 찾기 1 (C++) (4) | 2024.03.26 |
[코드업] 성실한 개미 (C++) (0) | 2024.03.25 |