코딩 테스트

문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 1은 2의 0승이므로 arr의 길이가 2 미만이면 arr를 정답으로 그대로 출력한다. 두 배열을 합칠 때 push(), flat() 대신 스프레드 연산자(...)를 활용해서 표현할 수 있다. // 배열 합치기 - push(), flat() let arr1 = [1, 2, 3, 4, 5]; let arr2 = [0, 0, 0]; arr1.push(arr2); console.log(arr1.flat()); // Expected output:[ 1, 2, 3, 4, 5, 0, 0, 0 ] // 배열 합치..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 0은 0을 제외한 모든 정수의 배수이다. 반복문에서 arr[x]++를 사용하면 원본 배열의 해당 값이 바뀐다. // 예시의 arr는 다음과 같이 바뀐다 // [0, 1, 2, 4, 3] + 1, 1, 1, 1, 1 // [1, 2, 3, 5, 4] + 1, 0, 1, 0, 0 // [2, 2, 4, 5, 4] + 1, 0, 0, 1, 0 // [3, 2, 4, 6, 4] let arr = [0, 1, 2, 3]; arr.forEach((x, i) => { if (i % 2 === 0) arr[i]+..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 // x가 true면 answer에 arr[i]를 문자열로 바꿔 arr[i] * 2만큼 반복해서 넣는다 // x가 false면 answer를 뒤에서부터 arr[i] 만큼 잘라낸다 // answer를 배열로 바꾸고 숫자로 반환해 정답을 출력한다 function solution(arr, flag) { let answer = ""; flag.forEach((x, i) => { if (x) { answer += String(arr[i]).repeat(arr[i] * 2); } else { answer = ..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 split()에 정규 표현식을 써서 myStr을 배열로 나눈다. filter(x => x)를 쓰면 배열에서 빈 문자열이 제거된다. answer에 값이 있으면 출력하고 그렇지 않으면 "[EMPTY]"를 출력한다. 정답 function solution(myStr) { const answer = myStr.split(/[a|b|c]/).filter(x => x); return answer.length ? answer : ["EMPTY"]; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 i + j
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 Date 생성자는 시간의 특정 지점을 나타내는 Date 객체를 플랫폼에 종속되지 않는 형태로 생성한다. Date 객체는 1970년 1월 1일 UTC(국제표준시) 자정으로부터 지난 시간을 밀리초로 나타내는 UNIX 타임스탬프를 담는다. 정답 function solution(date1, date2) { return new Date(date2) > new Date(date1) ? 1 : 0; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 정답 1의 while문에서 arr[s++]++ 잘 봐두자. 정답 // forEach문으로 queries의 값을 [s, e]로 구조 분해 할당 // s가 e와 같아질 때까지 while문을 반복한다 // 반복할 때마다 arr[s++]에 해당하는 값을 1씩 더한다(++) // 이렇게 하면 모든 s의 값 === arr의 인덱스, 가 되고 해당 값을 1씩 더하게 된다 function solution(arr, queries) { queries.forEach(([s, e]) => { while (s { retu..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 // for문에서 바꿀 arr의 값을 tmp에 저장해놓고 나중에 교환하는 방식 function solution(arr, queries) { for (let i = 0; i < queries.length; i++) { let tmp = arr[queries[i][0]]; arr[queries[i][0]] = arr[queries[i][1]]; arr[queries[i][1]] = tmp; } return arr; } // forEach문의 매개변수로 queries의 배열을 넣고 arr의 값을 맞교환하..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 // my_string을 배열 형태로 바꾼다 // answer를 선언한다 // while문을 돌려 my_string의 값을 m씩 잘라서 answer로 푸시한다 // map을 돌려 c - 1(인덱스는 0부터 시작)번째 값만 출력한다 // join을 써서 하나의 문자열로 합친다 function solution(my_string, m, c) { my_string = my_string.split(""); let answer = []; while (my_string.length > 0) { answer.pu..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 splice()는 배열에만 사용할 수 있다. slice()는 문자에도 사용할 수 있다. 정답 function solution(my_string, s, e) { my_string = my_string.split(""); my_string.splice(s, e - s + 1, [...my_string].slice(s, e + 1).reverse()); return my_string.flat().join(""); }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 // x1 || x2 ===> 양쪽 중 하나가 true면 true, 그렇지 않으면 false // (x1 || x2) && (x3 || x4) ===> 양쪽 모두가 true면 true, 그렇지 않으면 false 정답 function solution(x1, x2, x3, x4) { return (x1 || x2) && (x3 || x4); }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 num의 초기 값을 a로 잡아두는 게 중요하다. included의 값이 참이면 answer에 num을 더한다. included의 값이 참이든 거짓이든 num에 d를 계속 더한다. 정답 function solution(a, d, included) { let num = a; let answer = 0; for (let i = 0; i < included.length; i++) { if (included[i]) answer += num; num += d; } return answer; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 구조분해 할당으로 intervals를 변형하고 전체 식을 대괄호로 감싸서 반환하는 것이 포인트이다. 정답 function solution(arr, intervals) { const [[a, b], [c, d]] = intervals; return [...arr.slice(a, b + 1), ...arr.slice(c, d + 1)]; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 a === b, b === c면 결과적으로 a === c이므로 해당 조건은 식에 넣지 않아도 된다. 정답 function solution(a, b, c) { if (a !== b && a !== c && b !== c) { return a + b + c; } else if (a === b && b === c) { return (a + b + c) * (Math.pow(a, 2) + Math.pow(b, 2) + Math.pow(c, 2)) * (Math.pow(a, 3) + Math.pow(b, 3..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 indexOf()로 특정 값의 인덱스를 찾을 때 시작점(fromIndex)을 지정할 수 있다. indexOf(searchElement, fromIndex) 정답 function solution(arr, idx) { return arr.indexOf(1, idx); }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 중첩 반복문을 돌려서 arr[i][j]와 arr[j][i]가 다경우의 수가 나오면 0을 출력한다. 그렇지 않으면 1을 출력한다. 정답 function solution(arr) { for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length; j++) { if (arr[i][j] !== arr[j][i]) return 0; } } return 1; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 substr()은 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환한다. const str = 'Mozilla'; console.log(str.substr(1, 2)); // Expected output: "oz" console.log(str.substr(2)); // Expected output: "zilla" 정답 function solution(my_string) { return Array(my_string.length) .fill(my_string) .map((x, i) ..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 endsWith()를 사용해 문자열이 특정 문자열로 끝나는지 확인할 수 있고, 그 결과를 true 혹은 false로 반환한다. var str = 'To be, or not to be, that is the question.'; console.log(str.endsWith('question.')); // true console.log(str.endsWith('to be')); // false console.log(str.endsWith('to be', 19)); // true 정답 function s..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 x가 a이거나 A일 때 모두 A로 변환해야 한다. 정답 function solution(myString) { return [...myString].map(x => (x === "a" || x === "A" ? "A" : x.toLowerCase())).join(""); }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 // map을 돌려 값을 해당 값 길이의 배열로 바꾼다 // 배열을 값으로 채운다 // flat()으로 중첩 배열 구조를 평탄화한다 function solution(arr) { return arr.map(x => Array(x).fill(x)).flat(); } // 중첩 반복문을 이용해 값을 해당 값 만큼 answer에 푸시한다 function solution(arr) { let answer = []; for (let i = 0; i < arr.length; i++) { for (let j = 0..
카버
'코딩 테스트' 카테고리의 글 목록 (3 Page)