반응형
문제
https://www.acmicpc.net/problem/11478
풀이
문자열 S의 서로 다른 부분 문자열의 개수를 구하는 문제입니다.
부분 문자열은 어떻게 구할 수 있을까요?
"abcd"라는 문자열이 있다면,
첫번째 인덱스부터 다섯번째 인덱스 전까지 a, ab, abc, abcd
두번째 인덱스부터 다섯번째 인덱스 전까지 b, bc, bcd
세번째 인덱스부터 다섯번째 인덱스 전까지 c, cd
네번째 인덱스부터 다섯번째 인덱스 전까지 d
이러한 구조는 2중 for문으로 쉽게 구현할 수 있습니다.
2중 for문을 돌면서, 만들어진 부분 문자열을 Set 자료형에 넣어줍시다.
Set 자료형은 중복이 없고 순서가 없다는 성질이 있습니다.
Set 자료형의 요소의 개수를 출력해주면 됩니다.
소스코드
후기
부분 문자열만 구할 수 있다면 쉽게 풀이할 수 있습니다.
단순히 Set 자료형에 넣어주어서 중복을 제거하고 요소를 출력해주는 방식으로 풀이할 수 있습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 10870 피보나치 수 5 (Swift) (0) | 2023.03.14 |
---|---|
[BOJ] 백준 10872 팩토리얼 (Swift) (0) | 2023.03.14 |
[BOJ] 백준 1269 대칭 차집합 (Swift) (0) | 2023.03.14 |
[BOJ] 백준 1764 듣보잡 (Swift) (0) | 2023.03.14 |
[BOJ] 백준 10816 숫자 카드 2 (Swift) (0) | 2023.03.14 |