티스토리 뷰
반응형
안녕하세요? 수구리입니다.
이번 포스팅에서는 프로그래머스 문제인 가운데 글자 가져오기에 대한 문제입니다.
문자열을 다루는 함수에 대해서 알아보도록 하겠습니다~
[ 문제 ] 프로그래머스: 가운데 글자 가져오기
https://programmers.co.kr/learn/courses/30/lessons/12903
코딩테스트 연습 - 가운데 글자 가져오기
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret
programmers.co.kr
[ 나의 풀이 ]
#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 |
04-14 06:50
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 문자열
- 일상
- c++17
- 빅분기
- 티스토리챌린지
- 회고
- TypeScript
- programmers
- 코드업
- vector
- nestjs
- 동적스트링
- typeORM
- Python
- 오블완
- C++
- 빅데이터처리기사
- django
- 알고리즘
- 프로그래머스
- 전문가를위한C++
- 배열
- 일차원배열
- GIT
- config
- nest
- 백준
- 삽질
- BOJ
- MFC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
글 보관함