배정 받은 문제를 생각 보다 빨리 풀어서 다른 분들의 문제로 풀어보기로 했습니다.
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다.
제한사항
s는 길이가 1 이상, 100 이하인 스트링입니다.
내가 푼 문제 풀이
Math.round() 함수는 소수점 이하를 반올림 한다.
function solution(s) {
let answer = '';
let length = Math.round(s.length / 2)
// 가운데 숫자를 구하기 위해서
// s.length를 2로 나눠서 가운데 숫자를 구한다.
// 소숫점으로 나올 경우를 대비해
// Math.round() 함수를 사용하여 반올림 해준다.
if(length >= 1 && length <= 100){
if(s.length%2 == 0){
// s의 길이가 짝수라면
answer = s[length-1]+s[length]
// 두 글자를 출력 해야 하기 때문에
// s[length-1]+s[length]를 해준다.
}else{ // s.length%2 == 1
// s의 길이가 홀수라면
answer = s[length-1]
// 한 글자만 출력하면 되기 때문에
// s[length-1]을 해준다.
// -1을 쓰는 이유는 index를 셀 때는 0부터 시작하기 때문이다.
}
}else{
return
}
return answer;
}
Math.floor() 함수는 소수점 이하를 버린다.
function solution(s) {
let answer = '';
let length = Math.floor(s.length / 2)
// 가운데 숫자를 구하기 위해서
// s.length를 2로 나눠서 가운데 숫자를 구한다.
// 소숫점으로 나올 경우를 대비해
// Math.floor() 함수를 사용하여 소수점 이하를 버린다.
if(length >= 1 && length <= 100){
if(s.length%2 == 0){
// s의 길이가 짝수라면
answer = s[length-1]+s[length]
// 두 글자를 출력 해야 하기 때문에
// s[length-1]+s[length]를 해준다.
}else{ // s.length%2 == 1
// s의 길이가 홀수라면
answer = s[length]
// 한 글자만 출력하면 되기 때문에
// s[length]을 해준다.
// -1을 쓰는 이유는 index를 셀 때는 0부터 시작하기 때문이다.
}
}else{
return
}
return answer;
}
https://programmers.co.kr/learn/courses/30/lessons/12903
'항해 중 > 2주차 알고리즘(프로그래머스)' 카테고리의 다른 글
1일차 → 평균 구하기(reduce()) (0) | 2021.11.08 |
---|---|
1일차 → 직사각형 별 찍기(.repeat()) (0) | 2021.11.08 |
1일차 → 짝수와 홀수(parseInt(), Number(), 삼항연산자) (0) | 2021.11.08 |
1일차 → 두 정수 사이의 합(Math.min(), Math.max()) (0) | 2021.11.08 |
8조 첫 배정!! (0) | 2021.11.08 |
댓글