프로그래머스 풀이/level1

[Programmers] level 1) 문제 '가운데 글자 가져오기' 풀이

진기명기 2023. 5. 18. 12:12
🫠 Programmers (level 1) 👉🏻 문제 23번 (가운데 글자 가져오기)

✏️ 문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다.

✏️ 제한사항
s는 길이가 1 이상, 100이하인 스트링입니다.

✏️ 입출력 예

s return
"abcde" "c"
"qwer" "we"

 

 

 

 

 


function solution(s) {
  if(s.length % 2 !== 0) {
      return s[Math.floor(s.length / 2)]
  } else {
      return s.substr((s.length / 2) -1, 2)
  }
}
✅ 짝수, 홀수 구분은 % 연산자를 사용했다. 만약 나머지가 있다면 홀수, 0이면 짝수!
✅ 홀수인 경우, Math.floor()를 통해 소수점 내림을 해주었다.
✅ 짝수인 경우, substr()을 사용해서 문자열의 위치를 지정해 주고,  2개만큼 개수를 지정해 줘서 반환하였다.

 

 

💡 다른 사람 풀이

function solution(s) {
  return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
🫠 나랑 비슷하게 접근했지만 다른 점이 있다면.. 짝수, 홀수 구분을 삼항 연산자를 써서 한 줄로 나타낸 것..! 대단.. 🫠