이중 배열
# 배열를 선언합니다.
map = []
# append 함수를 통해서 다시 배열을 추가 합니다.
map.append([])
# 접근은 인덱스를 통해 가능합니다.
map[1][2]
file = 'p002.Minesweeper.in' f = open(file, 'r') def getCount(map, r, c, h, w): cnt = 0 for rowOffset in range(-1,2): for colOffset in range(-1,2): if rowOffset == 0 and colOffset == 0: continue row = r + rowOffset col = c + colOffset if row < 0 or row > h-1 or col <0 or col > w-1: continue if map[row][col] == '*': cnt += 1 return cnt idx = 0 while 1: line = f.readline().strip() #print 'line is ' + line if line == '0 0': break idx += 1 map = [] h, w = [int(x) for x in line.split()] for row in xrange(h): line = f.readline().strip() map.append(list(line)) print "Field #{0}".format(idx) for r in xrange(h): pRow = "" for c in xrange(w): if map[r][c] == '*': cnt = '*' else: cnt = getCount(map, r, c, h, w) pRow += str(cnt) print pRow print
입력 데이터는 아래와 같습니다.
4 4
*...
....
.*..
....
3 5
**...
.....
.*...
0 0
출력
Field #1
*100
2210
1*10
1110
Field #2
**100
33200
1*100
'Programming > Python' 카테고리의 다른 글
[python] LCD 디스플레이(LCD Display) - 숫자를 문자로, 문자를 리스트로 (0) | 2015.10.31 |
---|---|
[python] 여행(The Trip) - round (0) | 2015.10.28 |
[python] 문자열 찾기 (0) | 2015.10.27 |
[python] 3n+1 문제 (The 3n+1 Problem) - 파일 읽기 (0) | 2015.10.26 |
[python] 파이썬 설치하기 (0) | 2013.09.14 |
댓글