티스토리 뷰
반응형
문제의 저작권은 SW Expert Academy에 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
TC= int(input())
for tc in range(1, TC+1):
N = int(input())
data= [[0]*10 for _ in range(10)]
for _ in range(N):
r1, c1, r2, c2, color = map(int, input().split())
for i in range(r1, r2+1):
for j in range(c1, c2+1):
data[i][j] |= color
cnt = 0
for p in range(10):
for q in range(10):
if data[p][q] == 0b11:
cnt += 1
print(f'#{tc} {cnt}')
|
cs |
조건을 보면 같은 색이 겹치지 않는 다고 나와있다.
범위만 주의해서 color를 그냥 더해주면 답이나온다.
하지만 나는 같은 색이 겹쳐서 주어진 경우가 있다고 가정하고 풀었다.
이진법 풀이가 어려우신 분들은 다른 풀이를 보는 것을 추천한다.
data[i][j] |= color
이부분(|)은 이진법으로 변경했을 때 1인 부분이 있으면 1로 바꾼다.
date / color / 변경된 data값
00 |= 01 01
00 |= 10 10
00 |= 11 11
10 |= 01 11
00 |= 11 11
이런식으로 하면 중복이 되어도 계산가능하다.
if data[p][q] == 0b11:
0b11은 2의 이진법이다.
이부분은 전체를 순환했을 때 data의 값이 2인가를 판단 하는 거다.
반응형
'알고리즘 > sw' 카테고리의 다른 글
4839. [파이썬 S/W 문제해결 기본] 2일차 - 이진탐색_python (0) | 2020.03.26 |
---|---|
4837. [파이썬 S/W 문제해결 기본] 2일차 - 부분집합의 합 (0) | 2020.03.26 |
[파이썬 S/W 문제해결 기본] LIST1 - 구간합 _ python (0) | 2020.03.25 |
4831. [파이썬 S/W 문제해결 기본] LIST1 - 전기버스 _ python (1) | 2020.03.25 |
[파이썬 S/W 문제해결 기본] LIST1 - 숫자 카드 _ python (0) | 2020.03.25 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Vue
- Queue
- Express
- vuejs
- react
- NextJS
- django
- 자료구조
- pandas
- read_csv
- login
- UserCreationForm
- typescript
- Deque
- Python
- error:0308010C:digital envelope routines::unsupported
- 클라우데라
- mongoDB
- TensorFlow
- nextjs autoFocus
- useHistory 안됨
- BFS
- 자연어처리
- JavaScript
- logout
- react autoFocus
- useState
- next.config.js
- nodejs
- DFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함