본문 바로가기

IT 공부/C언어

[C언어] C언어 지뢰찾기 문제

1. 문제 

지금의 나에게는 정말 많이 어려운 문제였다. 친구들이 도움을 주었지만 확실하게 이해하고 혼자 처음부터 끝까지 풀수있기까지 3일이걸린문제이다. 그래도 풀고나니 기분이 정말 좋았다 

 

2. 정답코드

먼저 값을 입력 받을 이중배열을 만들었다.  문자열은 끝에 null값이 들어가기때문에 m과 n에 +1을 하였고 끝에 NULL값을 넣어주었다. 

 

그다음에 이 두가지 배열을 만들었다. 

 

dx와 dy 배열의 index[0]부터[7]까지 하나씩 지뢰찾기 배열 인덱스값하나하나에 더하기를 해주면 8방향의 요소를 다 검사할수있다.

그다음 좌표가 -음수가 아니거나 세로열이나 가로열보다 작을때에만 * 일경우 카운트를 해주고 그다음 카운트 값을 할당해주었다.

boom은 char형식이기때문에 int 형인 count의 값을 할당해줄수 없으므로 아스키코드의 48, 즉 '0'을활용하여 카운트의 값을 할당했다. 

출력 해본 결과