[백준] 11656번 : 접미사 배열 | string.substr() 함수를 이용한 '부분 문자열 추출' (C++)

2024. 3. 14. 23:25·Programming/C++ - 백준
반응형

 

 


문제


풀이

string.substr() 함수를 이용하여 부분적으로 문자열을 추출했다. 

 

아래는 substr() 함수에 대한 설명이다.

 

#include <string> //substr() 함수를 사용하기 위한 헤더 파일 <string>

string str = "CandyShop";

// str.substr(첫 번째 문자의 위치, 추출할 문자열의 길이);

str.substr();	// CandyShop | 인수가 없으면, 문자열 그대로 반환

str.substr(1);	// andyShop  | 시작 인수만 있다면, 해당 인덱스부터 마지막까지
str.substr(2);	// ndyShop
str.substr(3);	// dyShop

str.substr(4, 3); // ySh

 

string 형식의 vector을 선언하고, substr() 함수를 이용해 모든 접미사를 구해 vector에 저장했다.

 

	string s;
	vector<string> v;	// string 형식의 vector 선언
	cin >> s;

	// 모든 접미사를 찾아 vector에 저장 
	for (int i = 0; i < s.length(); i++) {
		v.push_back(s.substr(i));	// 문자열을 추출하는 substr 이용
	}

 

마지막으로, sort() 함수를 이용해 접미사들을 사전 순으로 정렬했다.

 

	sort(v.begin(), v.end());

 


코드

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>

using namespace std;

int main() {
	string s;
	vector<string> v;
	cin >> s;

	// 모든 접미사를 찾아 vector에 저장 - 문자열을 부분 추출하는 substr 이용
	for (int i = 0; i < s.length(); i++) {
		v.push_back(s.substr(i));
	}

	// 벡터를 사전 순으로 정렬
	sort(v.begin(), v.end());

	for (int i = 0; i < s.length(); i++) {
		cout << v.at(i) << "\n";
	}

	return 0;
}

 


결과

 

 

 

11656번: 접미사 배열

첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다.

www.acmicpc.net

 

반응형
저작자표시 (새창열림)

'Programming > C++ - 백준' 카테고리의 다른 글

[백준] C++로 풀이 시 시간 초과가 난다면?  (2) 2024.03.28
[백준] 1431번 : 시리얼 번호 | vector 구조체 (C++)  (3) 2024.03.18
[백준] 10825번 : 국영수 (C++)  (2) 2024.03.14
[백준] 11650번 : 좌표 정렬하기 | Sort 함수와 Compare & Array와 Vector 풀이 (C++)  (1) 2024.03.14
[백준] 11931번 : 수 정렬하기 4 (C++)  (1) 2024.03.13
'Programming/C++ - 백준' 카테고리의 다른 글
  • [백준] C++로 풀이 시 시간 초과가 난다면?
  • [백준] 1431번 : 시리얼 번호 | vector 구조체 (C++)
  • [백준] 10825번 : 국영수 (C++)
  • [백준] 11650번 : 좌표 정렬하기 | Sort 함수와 Compare & Array와 Vector 풀이 (C++)
지구코드
지구코드
IT를 공부하고 있는 지구의 코딩공간입니다!
  • 지구코드
    지구의 코딩공간
    지구코드
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 개발 기록
      • Back-end
        • Spring
        • Django
      • Programming
        • 알고리즘
        • C++ - 백준
      • Cloud
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Cloud
    EC2
    이진탐색
    부분 문자열 추출
    알파코
    프디아
    신한투자증권
    dp
    부트캠프
    구조체 벡터
    시간복잡도
    시간초과
    binary_search
    알파코캠퍼스
    별 찍기
    awscloudclubs
    피보나치 수
    k디지털트레이닝
    프로디지털아카데미
    백준
    다이내믹 프로그래밍
    pair 클래스
    슬라이딩윈도우
    C++
    큐
    KDT교육
    fill 함수
    AWS
    정렬
    edgelocation
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
지구코드
[백준] 11656번 : 접미사 배열 | string.substr() 함수를 이용한 '부분 문자열 추출' (C++)
상단으로

티스토리툴바