[Python] 파이썬 지뢰찾기 구현 (2차원 리스트)

2022. 7. 27. 18:01·Python

파이썬 코딩도장 23.7 심사문제 지뢰찾기 구현

 

* 문제설명

표준 입력으로 2차원 리스트의 가로(col)와 세로(row)가 입력되고 그 다음 줄부터 리스트의 요소로 들어갈 문자가 입력됩니다. 이때 2차원 리스트 안에서 *는 지뢰이고 .은 지뢰가 아닙니다. 지뢰가 아닌 요소에는 인접한 지뢰의 개수를 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).
여러 줄을 입력 받으려면 다음과 같이 for 반복문에서 input을 호출한 뒤 append로 각 줄을 추가하면 됩니다(list 안에 문자열을 넣으면 문자열이 문자 리스트로 변환됩니다).

 

 

2차원 배열을 이용해서 배열의 범위를 벗어나지 않도록

잘 조건을 줘서 8방향을 탐색하면 되는 문제다.

row, col = map(int,input().split())

matrix = []
for i in range(row):
    matrix.append(list(input()))

for i in range(row):
    for j in range(col):
        cnt = 0
        if matrix[i][j] == '*':
            print('*',end='')
            continue
        
        # 위 3칸 탐색
        if i-1 >= 0:
            if matrix[i-1][j] == '*':
                cnt += 1
            if j>0:
                if matrix[i-1][j-1] == '*':
                    cnt += 1
            if j<col-1:
                if matrix[i-1][j+1] == '*':
                    cnt += 1

        # 아래 3칸 탐색
        if i < row-1:
            if matrix[i+1][j] == '*':
                cnt+=1
            if j>0:
                if matrix[i+1][j-1] == '*':
                    cnt += 1
            if j<col-1:
                if matrix[i+1][j+1] == '*':
                    cnt += 1
            
        # 좌우 탐색
        if j-1 >= 0:
            if matrix[i][j-1] == '*':
                cnt += 1
        if j<col-1:
            if matrix[i][j+1] == '*':
                cnt += 1
            
        print(cnt, end='')
    
    print()

 

 

 


참고 문헌 : 파이썬 코딩도장

 

'Python' 카테고리의 다른 글

[Python] 파이썬 기후 데이터 시각화하기 (Indian Summers, plt, 선 차트, 막대 차트, 파이 차트)  (4) 2023.04.17
[Python] 학생 성적관리 프로그램 (파일 사용)  (0) 2022.07.28
[Python] 로또 당첨번호 (별찍기 예제)  (0) 2022.07.26
[Python] 파이썬 별찍기 for, while문  (0) 2022.07.26
[Python] 파이썬 리스트, 튜플, 딕셔너리 사용법  (0) 2022.07.25
'Python' 카테고리의 다른 글
  • [Python] 파이썬 기후 데이터 시각화하기 (Indian Summers, plt, 선 차트, 막대 차트, 파이 차트)
  • [Python] 학생 성적관리 프로그램 (파일 사용)
  • [Python] 로또 당첨번호 (별찍기 예제)
  • [Python] 파이썬 별찍기 for, while문
현기
현기
  • 현기
    현기의 개발블로그
    현기
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • Front-End (39)
        • Next (5)
        • React (8)
        • React Native (11)
        • Flutter (0)
        • Vue (1)
        • JSP (9)
        • HTML, CSS, JS (5)
      • Back-End (16)
        • Node.js (3)
        • Spring (8)
        • Flask (1)
        • AWS (4)
      • DB (5)
        • Oracle (4)
        • MySQL (1)
      • Python (7)
      • Java (27)
        • 자바 이론 (17)
        • 코딩테스트 연습 & 실습 (10)
      • 자료구조 & 알고리즘 (7)
        • 코딩테스트 (6)
        • 알고리즘 (1)
      • 블록체인 (0)
      • 프롬프트 엔지니어링 (0)
      • CS 지식 (5)
      • IT뉴스 (0)
      • 일상 (3)
      • etc (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    next-intl
    쓰레드
    티스토리챌린지
    자바
    react-native-chart-kit
    자바스크립트
    Java
    Spring
    상속
    react
    그리디
    오블완
    IS-A
    자바 스프링
    DI
    서블릿
    큐
    JDBC
    스택
    Python
    Express
    node.js
    React Native Chart
    React Native
    JSP
    포스트맨
    오라클
    파이썬
    REST API
    리액트 네이티브
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
현기
[Python] 파이썬 지뢰찾기 구현 (2차원 리스트)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.