반응형
안녕하세요? 수구리입니다.
이번 포스팅에서는 프로그래머스 문제인 가운데 글자 가져오기에 대한 문제입니다.
문자열을 다루는 함수에 대해서 알아보도록 하겠습니다~
[ 문제 ] 프로그래머스: 가운데 글자 가져오기
https://programmers.co.kr/learn/courses/30/lessons/12903
[ 나의 풀이 ]
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
int len = s.length();
if (len % 2 == 0) {
return s.substr((len/2)-1, 2);
} else {
return s.substr(len/2, 1);
}
}
[ 설명 ]
1. 입력으로는 문자열이 들어온다.
2. 우선 문자열의 길이를 구해서 len이라는 변수에 저장한다.
3. 문제의 조건에 의해서 길이가 짝수일 때와 홀수일 때 경우를 나누어서 결과를 리턴해준다.
4. 짝수인 경우는 2로 나누었을 때 나머지가 0이므로, 시작 지점은 (길이 / 2 - 1)이고 문자 2개를 리턴해야 하므로 시작 지점부터 2개를 반환하도록 한다.
5. 홀수인 경우는 2로 나누었을 때 나머지가 1이므로, 시작 지점은 (길이 / 2) 이고 문자는 1개를 리턴해야 하므로 시작 지점부터 1개를 반환하도록 한다.
str.substr() 함수
basic_string
substr(size_type __pos = 0, size_type __n = npos) const
{ return basic_string(*this,
_M_check(__pos, "basic_string::substr"), __n); }
basic_string.h에 있는 substr 이라는 함수의 형태입니다.
첫 번째 인자 : 시작 위치
두 번째 인자 : 시작 위치부터 몇개의 문자를 리턴할 것인지?
반환 값은 str 형태입니다.
이상으로 substr 함수에 대해서 알아보았습니다.
감사합니다.
반응형
'✏️ PS > Programmers' 카테고리의 다른 글
[ C++ ] 프로그래머스: 신규 아이디 추천 (0) | 2021.12.13 |
---|---|
[ C++ ] 프로그래머스: 로또의 최고 순위와 최저 순위 (2) | 2021.12.10 |
[ python ] 프로그래머스: 문자열 내림차순 정렬 (0) | 2021.12.07 |
[ C++ ] 프로그래머스: 소수 만들기 (0) | 2021.11.17 |
[ C++ ] 프로그래머스: 완주하지 못한 선수 (0) | 2021.11.16 |