둘다 같은코든데 아래꺼만 100점. 차이점은 가로로 저장하느냐 세로로 저장하느냐 차이.
가로가 더 빠른가보다.
import sys
input = sys.stdin.readline
print = sys.stdout.write
s = input().rstrip()
n = len(s)
sub_set = [[0 for _ in range(26)] for _ in range(n)]
for i in range(n):
for j in range(i,n):
sub_set[j][ord(s[i])-97] += 1
q = int(input())
for _ in range(q):
alp, l, r = input().split()
l,r = int(l), int(r)
l_value = sub_set[l-1][ord(alp)-97] if l>0 else 0
r_value = sub_set[r][ord(alp)-97]
print(f'{r_value - l_value}\n')
# # 남의코드 가로세로만 바뀜.
# import sys
# input = sys.stdin.readline
# s = input().rstrip()
# d = [[0] * 26 for _ in range(len(s) + 1)]
# for i in range(1, len(s) + 1):
# x = ord(s[i - 1]) - ord("a")
# for j in range(26):
# if j == x:
# d[i][j] = d[i - 1][j] + 1
# continue
# d[i][j] = d[i - 1][j]
# n = int(input())
# for _ in range(n):
# x, l, r = input().rstrip().split()
# x = ord(x) - ord("a")
# r = int(r)
# l = int(l)
# ans = d[r + 1][x] - d[l][x]
# sys.stdout.write(str(ans) + "\n")
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 20207 달력 (0) | 2021.08.16 |
---|---|
[백준][Python] 1913 달팽이 (0) | 2021.08.16 |
[백준][Python] 14676 영우는 사기꾼 (0) | 2021.08.16 |
[백준][Python] 16206 롤케이크 (0) | 2021.08.16 |
[백준][Python] 1305 광고 (0) | 2021.08.16 |