Study 2.

WorldWannyWeb.·2021년 3월 24일
0

Study

목록 보기
2/35
post-thumbnail

2021-03-24


2개의 코드 문제, 2개의 면접대비 문제


1. 두 정수 사이의 합(Programmers)

문제 설명
두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.

제한 조건
a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
a와 b의 대소관계는 정해져있지 않습니다.

입출력 예
a b return
3 5 12
3 3 3
5 3 12

문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

Answer

code

function solution(a, b) {
    let sum = 0;
    for(let i=Math.min(a,b); i<=Math.max(a,b); i++){
        sum = sum + i
    } return sum
}

description
a,b를 포함 그 사이 수의 합을 구하는 것인데, -10,000,000 이상 10,000,000 이하인 정수여서 가장 작은값과 가장 큰 값을 정해놓고 for문을 돌려야겠다 생각했다. 그래서 역시나 MDN 뒤져보기시전 히히. 그래서 Math.min으로 가장 작은값을 정하고 Math.max로 가장 큰값을 범위로 정한 다음에 for문을 돌렸다!

2. 가운데 글자 가져오기(Programmers)

문제 설명

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

제한 조건
s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예
s return
"abcde" "c"
"qwer" "we"

Answer

code

function solution(s) {
    let answer = '';
    if(s.length%2 === 0){
        answer = s[s.length/2 - 1]+s[s.length/2]
    } else {
        answer = s[s.length/2 - 0.5]
    }
    return answer;
}

description
우선, 짝수일때와 홀수일때의 경우의 수를 나누어 생각했다. 길이가 짝수일때는 나머지가 0이므로 %연산자를 이용했다. 그리고 string에서 몇번째인지를 구하면 가운데를 글자를 구할 수 있어서, string의 길이를 반으로 나누면 짝수에서는 가운데에서 2번째 글자의 index가 나오고, 그 앞의 글자의 index는 -1을 해주면 된다. 홀수일때에는 반으로 나누었을때, .5가 붙으므로 0.5를 빼주어 index를 구해주었다.


1. “==” and “===”의 차이점은 무엇인가요 ?

Answer.
비교 연산자는 두 개의 값을 비교하여 true와 false결과값을 반환해주는데요.
먼저, 동등 연산자( == ) 는 비교 대상 값의 자료형이 서로 다르면 강제로 형을 바꾼 뒤에 비교합니다. 이는 값의 자료형과 상관없이, 내용이 같은 경우 참(true)을 반환합니다. 만약 두 값이 객체형이라면 메모리 주소를 바라보는지 확인한다.
일치 연산자( === )는 엄격한 기준을 가지고 있는데, 값의 내용을 비교하는 것뿐만 아니라, 자료형까지 일치하는지 비교합니다. 동등 연산자처럼 자료형을 임의로 변환하지 않습니다.

2. javascript 의 null, undefined, undeclared 차이점은 무엇인가요?

Answer.
먼저, Undefined는 선언은 되었지만, 값이 아무것도 지정이 되어있지 않아서 비어있는지 값이 있는지 모를때 사용합니다.Null은 명확하게 '너는 텅텅 비어있는 empty이야' 라고 값을 지정하는것입니다. 마지막으로 undeclared는 접근 가능한 스코프에 변수 선언조차 되어있지 않은 상태를 말합니다.

profile
와니완의 월드와이드와니웹🐥

0개의 댓글