티스토리 뷰
https://www.acmicpc.net/problem/11478
실버3 문제, 골드5 이하 문제는 매우 쉬운편에 속하는 문제들이라고 생각한다.
from sys import stdin
string = stdin.readline().strip()
substring_set = set()
for CurSubstringLength in range(1, len(string)+1):
for StartIndex in range(len(string)):
if StartIndex + CurSubstringLength <= len(string):
# print(string[StartIndex:StartIndex+i])
substring_set.add(string[StartIndex:StartIndex+CurSubstringLength])
print(len(substring_set))
CurSubstringLength는 부분 문자열의 길이다. 예를들어 1이라면 ababc의 부분문자열들은 a, b, a, b, c이고 2라면 ab, ba, ab, bc가 되겠다.
StartIndex는 각각의 부분 문자열의 길이에 따라 출력할 부분 문자열들의 시작 인덱스다.
Start Index | 0 | 1 | 2 | 3 | 4 |
부분 문자열의 길이 | |||||
1 | a | b | a | b | c |
2 | ab | ba | ab | bc | 범위 초과 |
3 | aba | bab | abc | 범위초과 | 범위 초과 |
4 | abab | babc | 범위 초과 | 범위 초과 | 범위 초과 |
5 | ababc | 범위 초과 | 범위 초과 | 범위 초과 | 범위 초과 |
범위가 초과되는 경우를 출력하면 분명 오답을 볼 것 같아서 애초에 출력시키지 않기 위해
if StartIndex + CurSubstringLength <= len(string):
라인을 추가하였다.
'Computer > 백준 풀이' 카테고리의 다른 글
[파이썬/백준1002/힌트] 터렛 (1) | 2022.12.27 |
---|---|
[파이썬/백준3053] 택시 기하학 (0) | 2022.12.26 |
[파이썬/백준1764] 듣보잡 (0) | 2022.12.19 |
[파이썬/백준10816] 숫자 카드 2 (1) | 2022.12.18 |
[파이썬/백준1620] 나는야 포켓몬 마스터 이다솜 (0) | 2022.12.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- MatrixAlgebra
- variational autoencoder
- 선형대수
- 베이즈정리
- elementry matrix
- manimtutorial
- 3b1b
- kld
- eigenvector
- 백준
- ai신약개발
- 이왜안
- manim library
- 파이썬
- marginal likelihood
- kl divergence
- 최대우도추정
- vae
- 오일석기계학습
- 3B1B따라잡기
- 인공지능
- 제한볼츠만머신
- MLE
- Matrix algebra
- MorganCircularfingerprint
- 기계학습
- eigenvalue
- manim
- ai인공지능
- Manimlibrary
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함