Notice
Recent Posts
Recent Comments
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 |
Tags
- 원티트 프리온보딩인턴십 1주차
- 프로젝트
- toast err
- CPU와 GPU의 차이점
- 향해99
- CloudFront 무효화
- 원티드인턴십
- Node
- Client-Side Navigation
- react
- Redux
- 인풋태그 엔터
- JS
- 원티드프리온보딩
- JavaScript
- jsEvent Loop
- 유령 의존성
- NVM
- Mac OS NVM
- next/link
- git
- Til
- react portal
- Passed by Value
- input error
- 광고지구
- NextJs
- 회고록
- 식별자란
- 알고리즘
Archives
- Today
- Total
SUIN
알고리즘3_가운데 글자 가져오기 본문
728x90
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
문제
function solution(s) {
var answer = '';
return answer;
}
내가 작성한 코드
function solution(s) {
//중간지점 찾기 (입력받은 값의 길이를 2로 나누어라)
let center = s.length / 2
// 나눈 값이 정수인지 실수인지 판별해라
let distinction = Number.isInteger(center)
if(distinction === true){ // 정수이다 (2개 출력 , 버림 + 올림)
let i = s[Math.floor(center)-1]
let j = s[Math.ceil(center)]
let e = i+j
return (e)
}else{ // 실수이다 (1개만 출력- 올림처리)
let j = s[Math.ceil(center)-1]
return j
}
}
알게된 내용
삼항연산자를 통해서 작성한 예
function solution(s) {
return s.length % 2 == 0 ? s.substr(s.length / 2 - 1, 2) : s.substr(Math.floor(s.length / 2), 1);
}
console.log(solution("abcde"));
- 올림 반올림 내림
- 올림(Math.ceil())
- Math.ceil() 함수 / 정수 올림 (음수 포함) / 자릿수 지정
- 내림(Math.floor())
- Math.floor() 함수 / 정수 내림 (음수 포함) / 자릿수 지정
- 반올림(Math.round())
- Math.round() 함수 / 정수 반올림 (음수 포함) / 자릿수 지정 / 소수점 숫자 정밀도 문제
출처: https://hianna.tistory.com/446 [어제 오늘 내일]
'알고리즘 > 프로그래머스' 카테고리의 다른 글
알고리즘6_ 없는 숫자 더하기 (0) | 2021.11.09 |
---|---|
알고리즘5_문자열 정수로 바꾸기 (0) | 2021.11.09 |
알고리즘4_두 정수 사이의 합(다시) (0) | 2021.11.09 |
알고리즘2_ 짝수와 홀수 (0) | 2021.11.09 |
알고리즘 1 _ 직사각형 별찍기 (0) | 2021.11.08 |