Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 웹어플리케이션 서버
- Coroutine
- MSA
- sql 기술면접
- with recursive
- java
- 백준
- 파이썬
- 백준 17779
- re.split
- 백준 17626
- spring security
- Kotlin
- 프로그래머스
- JPA
- 백준 19238
- 백준 16719
- 프로래머스
- JVM
- 백준 16236
- 백준 파이썬
- MySQL
- springboot
- spring cloud
- Spring
- spring oauth
- Spring Boot
- java 기술면접
- 백준 16235
- 백준 15685
Archives
- Today
- Total
시작이 반
[백준] 2578번번 (python 파이썬) 본문
SMALL
구현 문제이다.
사회자가 숫자를 부르면서 빙고판을 색칠해 가는데
빙고가 3개가 나오면 사회자가 몇번째에 빙고가 나왔는지 출력하는 문제이다.
visited 리스트를 만들어서 사용하였다.
2차원배열의 전체에 해당하는 list
row만 확인하는 list
col만 확인하는 list
대각선을 확인하는 list
list를 채우는 방식
만약 2차원 visited에서 0행이 빙고가 완성되면
row[0] 을 True로 바꿔준다.
열과 대각선도 마찬가지이다. 대신 대각선은 0, 1 로 이루어져있다.
True의 개수를 3개 이상일때까지 row list, col list, 대각선 list를 확인한다.
bingo = [list(map(int, input().split(' '))) for _ in range(5)]
targets = list()
for _ in range(5):
targets.extend(list(map(int, input().split())))
visitied = [[False] * 5 for _ in range(5)]
row_visited = [False] * 5
col_visited = [False] * 5
x_visited = [False] * 2 # 0: 오른쪽위, 1:오른쪽 아래
def ismake_bingo():
for i in range(5): # row
if all(visitied[i]):
row_visited[i] = True
for i in range(5): # col
temp = list()
for j in range(5):
temp.append(visitied[j][i])
if all(temp):
col_visited[i] = True
temp_up = list()
temp_down = list()
for i in range(5):
temp_up.append(visitied[i][i]) # 오른쪽 아래 대각선
temp_down.append(visitied[i][4 - i]) # 오른쪽 위 대각선
if all(temp_down):
x_visited[0] = True
if all(temp_up):
x_visited[1] = True
def count_bingo():
count = 0
for i in range(5):
if row_visited[i]:
count += 1
if col_visited[i]:
count += 1
for i in range(2):
if x_visited[i]:
count += 1
return count
for j in range(len(targets)):
x = None
for i in range(5):
if targets[j] in bingo[i]:
x = i
break
y = bingo[x].index(targets[j])
visitied[x][y] = True
ismake_bingo()
if count_bingo() >= 3:
print(j + 1)
break
LIST
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1244번번 (python 파이썬) (0) | 2021.03.29 |
---|---|
[백준] 4396번번 (python 파이썬) (0) | 2021.03.29 |
[백준] 12933번번 (python 파이썬) (3) | 2021.03.25 |
[백준] 14467번번 (python 파이썬) (0) | 2021.03.24 |
[백준] 1913번번 (python 파이썬) (0) | 2021.03.24 |