코딩 테스트/programmers

문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 문자열에도 indexOf()를 사용할 수 있다. 정답 function solution(my_string, is_prefix) { return my_string.indexOf(is_prefix) === 0 ? 1 : 0; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 배열 형태의 변수가 주어지면 새롭게 배열을 만들기보다 해당 배열을 이용해서 정답을 만드는 게 낫다. 정답 function solution(my_string, index_list) { return index_list.map(x => my_string.substring(x, x + 1)).join(""); }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 Array.from()으로 배열을 만들고 start에서 각각의 인덱스 값을 뺀 결과를 출력한다. 정답 function solution(start, end) { return Array.from({ length: start - end + 1 }, (x, i) => start - i); }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 findIndex()는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환한다. 만족하는 요소가 없으면 -1을 반환한다. const array1 = [5, 12, 8, 130, 44]; const isLargeNumber = (element) => element > 13; console.log(array1.findIndex(isLargeNumber)); // Expected output: 3 정답 function solution(num_list) { return num_list...
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 while문의 조건을 잘 입력하면 break를 쓰지 않아도 된다. 정답 function solution(numbers, n) { let answer = 0; let i = 0; while (answer < n) { answer += numbers[i]; i++; } return answer; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 slice()로 잘라내는 방법이 가장 간단하다. 좀 더 복잡한 조건이 필요할 때는 forEach()가 필요할 수도 있다. 정답 function solution(num_list, n) { return num_list.slice(0, n); } function solution(num_list, n) { let answer = []; num_list.forEach((x, index) => { if (index + 1
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 Array.from()과 화살표 함수 동시에 사용하기 // Using an arrow function as the map function to // manipulate the elements Array.from([1, 2, 3], x => x + x); // [2, 4, 6] // Generate a sequence of numbers // Since the array is initialized with `undefined` on each position, // the value of `v` bel..
카버
'코딩 테스트/programmers' 카테고리의 글 목록 (3 Page)