BOJ2563-색종이 (python3)

Ok Haeeun·2023년 1월 26일
0

오늘의 문제~

무식하게 for문 돌려서 안풀려고 머리 좀 썼다가
2007년 올림피아드 지역본선 초등부 문제길래
자존심 상해서 for문으로 풀기로 했다.

2차원 배열 한줄을 한방에 할당할 수 있는 방법이 있다면 for문 사용을 줄이고 시간복잡도를 훨씬 줄여볼 수 있을텐데 생각한 방법으로 되진 않았다.

n = int(input())
matrix = [['X']*101 for _ in range(101)]
for _ in range(n):
    row,col = map(int,input().split())
    for i in range(10):
        for j in range(10):
            matrix[row+i][col+j] = 'O'

result = 0
for i in range(100):
    result += matrix[i].count('O')
print(result)

잘풀고 싶었지만 너무 복잡하게 생각하고 싶지 않아서 직관적으로 풀었다.

boolean 자료형을 쓰려다가 출력했을 때 보기 편하라고 O/X로 바꿨다.

2차원 배열을 선언한 후에 배열 한칸당 넓이 1로 계산해서 입력한 인덱스+10 내에 해당하는 요소들을 'X' -> 'O'로 변경하고, O의 개수를 세어 출력하는 방식으로 문제를 해결했다.

이렇게 오늘의 문제 끝~
파이썬.....넘 좋다.....

profile
tistory에 이어서 기록합니다 👉 https://i-m-okay.tistory.com/

0개의 댓글

관련 채용 정보