본문 바로가기
[SWEA] 풀이/[SWEA] D3

[SWEA] SWEA 1220번: Magnetic 파이썬 풀이 - 알고리즘 코딩 문제 해설 python

by codeomni 2023. 4. 18.
반응형

 

안녕하세요.

이번 포스팅은 SWEA의 1220 문제 풀이입니다.

문제 이름은 "Magnetic" 입니다.

 

 

풀이


1
2
3
4
5
6
7
8
9
10
11
12
13
14
for tc in range(10):
    N = int(input())
    l = [list(map(int, input().split())) for i in range(N)]
    result = 0
    for i in range(N):
        cout = 0
        for j in range(N):
            if l[j][i] == 1:
                cout = 1
            if l[j][i] == 2:
                if cout == 1:
                    result += 1
                    cout = 0
    print('#%d %d' %((tc+1), result))
cs

 

핵심: 열우선으로 탐색하여 1이 있을 경우 카운트해서 2을 만날 경우 결과값을 더해줍니다.

 

1. for문을 통해 10개의 테스트를 반복합니다.

 

2. 테이블의 크기를 입력 받습니다.

 

3. 리스트로 테이블의 값들을 입력 받습니다.

 

4. 결과값을 출력할 변수를 선언합니다.

 

5. for문을 통해 행을 찾습니다.

 

6. 1이 있을 경우를 저장하기 위한 변수를 선언합니다.

 

7. 열을 탐색합니다.

 

8~9. 테이블의 값이 1이 있으면 카운트를 합니다.

 

10~13. 테이블의 값이 2일 경우 카운트의 값을 확인하고, 있을 경우 결과값을 더합니다.

 

14. 출력 양식에 맞게 결과값을 출력합니다.

댓글