[코테공부/Softeer] 나무 공격 Python
https://softeer.ai/practice/9657
더 자세한 문제 내용은 링크 참고.
나의 해결법
1. 아이디어
각 행 별로 1의 개수가 몇 개인지 count하여 1차원 배열로 저장한 뒤, 공격 범위 행 인덱스의 값을 1씩 빼주면 되겠다.
코드
import sys
input = sys.stdin.readline
n, m = list(map(int, input().split()))
count_1 = [input().count("1") for i in range(n)]
lr1 = list(map(int, input().split()))
l1, r1 = lr1[0]-1 if lr1[0]>0 else 0, lr1[1]
lr2 = list(map(int, input().split()))
l2, r2 = lr2[0]-1 if lr2[0]>0 else 0, lr2[1]
for i in range(l1, r1):
if count_1[i] > 0:
count_1[i] -= 1
for i in range(l2, r2):
if count_1[i] > 0:
count_1[i] -= 1
print(sum(count_1))
결과
'Python' 카테고리의 다른 글
[코테공부/Softeer/Python] [한양대 HCPC 2023] Yeah, but How? (0) | 2025.01.31 |
---|---|
[Python] zip() 함수 사용법 / 가장 긴 길이에 맞춰 zip() 사용법 (0) | 2024.01.17 |
[Python] 람다식(lambda) 사용법, 사용할 위치: filter(), sorted() (0) | 2024.01.16 |
[Python] 리스트나 딕셔너리에 저장된 값을 함수의 위치 인수로 전달하는 법 (2) | 2024.01.15 |
[Python] *args, **kwargs 란 / 함수 파라미터 설정 시 가변 개수 파라미터 설정하는 법 (0) | 2024.01.15 |