문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다.
제한사항
- s는 길이가 1 이상, 100 이하인 스트링입니다.
입출력 예
s | return | ||
"abcde" | "c" | ||
"qwer" | "we" |
문제 풀이
풀이 언어 : C++
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
int s_length=s.length(); // s의 길이
// s의 길이가 짝수일 때
if(s_length%2==0)
{
answer=s.substr(s_length/2-1, 2); // 가운데 두 글자 추출
}
else // s의 길이가 홀수일 때
{
answer=s.substr(s_length/2, 1); // 가운데 한 글자 추출
}
return answer;
}
매개변수로 들어온 s의 가운데 글자를 가져오기 전에 일단 확인해야 하는 것이 있다. s의 길이가 짝수인지 홀수인지인데 그 차이에 따라 몇 글자를 어떻게 가져올지가 다르기 때문이다. 그래서 일단 length() 함수를 이용해서 s의 길이를 저장한다.
짝수일 경우 가운데 두 글자를 추출한다. substr을 이용하여 s_length/2-1번째 글자부터 2개를 가져와서 answer에 저장한다. 반대로 홀수일 경우 강누데 한 글자만 추출한다. substr을 이용하여 s_length/2번째 글자부터 1개를 가져와서 answer에 저장한다. 마지막으로 answer을 반환하면 된다.
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12903
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'Code KATA > 알고리즘 코드카타' 카테고리의 다른 글
[2025.01.01] 수박수박수박수박수박수? (0) | 2025.01.02 |
---|---|
[2024.12.31] [PCCP 기출문제] 2번 / 퍼즐 게임 챌린지 (0) | 2024.12.31 |
[2024.12.30] [PCCP 기출문제] 1번 / 동영상 재생기 (0) | 2024.12.30 |
[2024.12.30] 제일 작은 수 제거하기 (1) | 2024.12.30 |
[2024.12.29] 없는 숫자 더하기 (3) | 2024.12.27 |