반응형
s라는 글자를 반환하는 함수다 여기서 키워드는 길이를 가져오는 것과 그 길이가 짝수라면 2글자, 홀수라면 가운데 1글자를 가져와야 된다.
길이를 반환하는 건 length를 이용해줬다.
if(s.length % 2 != 0) // if문을 먼저 넣어줘서 s의 길이가 2로 나눴을 때 나머지가 0이 아니라면, 즉 홀수라면
return (s.substr(s.length/2, 1); // 여기서 어떤 함수를 넣어줘야되나 고민했다. slice를 처음에 생각했다가 문자열을 자르는 함수를 검색 도중에 substr이 눈에 들어왔다.
substr(시작index, 길이)로 문자열을 잘라서 넣을 수 있었다.
substring도 비슷하지만 다른점은 substr에 시작 index -1을 먼저 넣으면 뒤에서부터 찾을 수 있고 그 길이를 설정해서 맨 뒤에서부터 반환할 수 있다.
여기서 좀 헷갈렸던 부분이 길이를 2로 나누면 abcde라면 2.5가 된다. 그래서 이게 실수가 되면 반올림이 되나, 반올림이 안되나가 좀 헷갈렸고, 만약 2가 된다면 index이기에 c가 된다. 그리고 뒤에 길이 1만큼 넣어주면 c가 입력되서 케이스와 올바르게 나온다.
그 다음은 else 를 써줘서
else
return (s.substr/2-1, 2)를 해줬다. qwer을 2로 나누면 2가 된다. 그러나 index가 2면 e가 된다 그러나 우리가 구해줘야할 값은 we다. 그러면 index를 -1해주면 we가 되고, 길이를 2로해서 we까지 구하면 답이 나온다.
반응형
'알고리즘문제' 카테고리의 다른 글
프로그래머스 - 행렬의 덧셈 (0) | 2021.09.20 |
---|---|
프로그래머스 - 문자열 내림차순으로 배치하기 (0) | 2021.09.10 |
수박수박수 문제 (0) | 2021.05.17 |
김서방 찾기 (0) | 2021.05.15 |
Codeup 1045문제 (0) | 2021.04.28 |