Notice
Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- JS form action
- CSS기초
- JS 스코프
- JS setTimeout
- JS value속성
- JS redirection
- JS classList
- JS appendChild
- JS 연산
- JS setInterval
- CSS속성정리
- JS append
- JS preventDefault
- JS 형변환
- JS 타이머기능
- JS 함수
- JS 화살표함수
- JS prompt
- JS localStorage
- JS typeof연산자
- JS 기초
- js 변수
- git 협업셋팅
- JS 숫자
- JS form
- JS clearInterval
- JS null undefined
- JS 데이터타입
- HTML기초
- JS 삼항연산
Archives
공부기록용
프로그래머스(LV 1. 가운데 글자 가져오기) 본문
LV 1. 가운데 글자 가져오기
https://school.programmers.co.kr/learn/courses/30/lessons/12903
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
- s = "abcde" / "qwer"
- return = "c" / "we"
<해결>
function solution(s) { var answer = ''; // var str = [...s] // str은 문자열 s를 배열로 만든거 // console.log(str) // [ 'a', 'b', 'c', 'd', 'e' ] var arr = s.length; // arr은 str의 길이 // console.log(arr) // 5 if (arr % 2 == 0) { answer = s[arr / 2 - 1] + s[arr / 2]; } else { answer = s[Math.floor(arr/2)]; } return answer; } console.log(solution("abcde"))
> 처음에는 s가 문자열이어서 이걸 배열로 바꾸려고 시도했었다. 그럴필요 없었다..ㅎ
> 그냥 s 문자열의 길이만 변수 arr로 바꿔서 진행했다 = 5
> "abcde"의 경우 5 -> 홀수 ans = s[Math.floor(2.5)]로 소수점을 버리면 -> s[2] -> abcde 에서의 2는 -> " c "
🔴배운거
> Math.floor()메서드는 : 소수점 이하를 버림한다.
> 사용한 이유는 홀수인 경우 2로 나누면 소수점이 발생한다.
>그러므로 나눈 값에 Math.floor를 해주어서 반내림을 해주어야하고, 반내림을 해주는 이유는 인덱스는 0부터 시작하기 때문이다.
> "abcd"의 경수 4 -> 짝수 ans = s[4/2-1=1]+s[2] -> s[1]+s[2] -> abcd에서의 1,2는 -> "bc"
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
function solution(s) {
const mid = Math.floor(s.length/2);
return s.length %2 === 1 ? s[mid] : s[mid-1]+s[mid];
}
'✍️문제풀기✍️ > JS_Programmers school' 카테고리의 다른 글
프로그래머스(LV 1. 문자열을 정수로 바꾸기) (0) | 2023.06.16 |
---|---|
프로그래머스(LV 1. 두 정수 사이의 합) (0) | 2023.06.16 |
프로그래머스(LV 1. 짝수와 홀수) (0) | 2023.06.16 |
프로그래머스(LV 0. 배열 조각하기) (0) | 2023.06.15 |
JavaScript 문법 종합(연습06) (0) | 2023.05.31 |
Comments