1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <string> #include <vector> using namespace std; string solution(string s) { string answer = ""; int i = 0; vector<string> sv; sv.push_back(s); i=sv[0].size(); if (i % 2 == 0) { answer = sv[0].substr(i / 2-1, 2); return answer; } else { answer = sv[0].substr(i / 2, 1); return answer; } } | cs |
문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한사항
s는 길이가 1 이상, 100이하인 스트링입니다.
처음 programmers에서 풀어본 문제이면서 제일 쉬웠다.
스트링의 길이가 홀수일때와 짝수일때만 구분하는 점과, 문자열에서 특정 인덱스에 있는 문자를 출력하는 substr()함수를 이용한다면 쉽게 해결할 수 있는 문제였다.
2학년때 배운 c++를 오랜만에 다뤄보는거라 벡터 부분을 책으로 찾아가면서 풀었다.
앞으론 배운뒤에 복습을 해야겠다는 생각이 들었다.
문제를 풀면 다른 사람들의 풀이를 볼 수 있는데 정말 도움이 많이 되는 것 같다.
코드 간결성에서 특히 python은 정말 배울 필요가 있는 것 같다.
syntaxhighlighter 플러그인을 이용해서 코드 삽입을 해봤는데 html코드 수정에서 문제가 생긴건지 마지막에 이상한 태그가 붙는다.
오늘은 늦었으니 내일 다시 해결해보도록 할 것 이다.
+
친한 선배의 추천으로 syntaxhighlighter 대신 color scripter를 써봤더니 매우 편하다. 복붙만 해주면 되는 편리함이 있다.
'프로그래머스 > C++' 카테고리의 다른 글
[level 1] 2016년 (0) | 2018.08.19 |
---|---|
[level 1] 같은 숫자는 싫어 (0) | 2018.08.18 |
[level 1] 문자열 내 p와 y의 개수 (0) | 2018.08.17 |
[level 1] 나누어 떨어지는 숫자 배열 (0) | 2018.08.16 |
[level 1] 두 정수 사이의 합 (0) | 2018.08.15 |