전체 글

문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 // 배열의 각 쿼리에 대해 반복한다 // (짝수 인덱스인 경우) i를 2로 나눈 나머지가 0이면 arr 배열을 0부터 x까지 잘라낸다 // (홀수 인덱스인 경우) i를 2로 나눈 나머지가 0이 아니면 arr 배열을 x부터 끝까지 잘라낸다 function solution(arr, query) { query.forEach((x, i) => { i % 2 === 0 ? (arr = arr.slice(0, x + 1)) : (arr = arr.slice(x)); }); return arr; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 function solution(a, b, c, d) { const numbers = [a, b, c, d]; // 주사위 숫자의 빈도수를 저장할 객체 생성 const dice = {}; // 주사위 숫자의 빈도수를 계산하여 객체에 저장 numbers.forEach(x => { dice[x] = (dice[x] || 0) + 1; }); // 주사위 숫자들을 숫자로 변환하여 배열로 저장 const keys = Object.keys(dice).map(Number); // 주사위 숫자들의 빈도수를 배열..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 str_list에 for문을 돌려 "l"이나 "r" 중 먼저 등장하는 요소에 알맞는 식을 반환하면 된다. 해당 배열에 "l"이나 "r"이 없으면 for문에서 아무런 결괏값도 반환하지 않으므로 순서상 마지막에 위치하는 빈 배열([])이 반환된다. 정답 function solution(str_list) { for (let i = 0; i < str_list.length; i++) { // "l"을 찾으면 해당 위치 이전의 요소들로 이루어진 배열을 반환한다 if (str_list[i] === "l") r..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 Array.from()은 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운 Array 객체를 만든다. console.log(Array.from("foo")); // Expected output: Array ["f", "o", "o"] console.log(Array.from([1, 2, 3], x => x + x)); // Expected output: Array [2, 4, 6] // Array.from()과 화살표 함수 사용..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 for...of문은 반복 가능한 객체(Array, Map, Set, String, TypedArray, arguments 객체 등을 포함)에 대해 반복하고 각 개별 속성값에 대해 실행되는 문이 있는 사용자 정의 반복 후크를 호출하는 루프를 생성한다. const arr = ["a", "b", "c"]; for (const x of arr) { console.log(x); } // Expected output: "a" // Expected output: "b" // Expected output: "c"..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 sort()에 비교 함수를 넣지 않으면 문자열을 기준으로 정렬한다. 예를 들어 2등과 10등을 비교하면 10등이 더 앞으로 정렬된다. 문자열 기준 정렬에서는 "2"보다 "10"이 더 빠르기 때문이다. let arr = [3, 2, 1, 6, 5, 4, 7, 8, 9, 10, 11, 12]; // 문자열 기준 정렬 arr.sort(); console.log(arr); // Expected output: Array [1, 10, 11, 12, 2, 3, 4, 5, 6, 7, 8, 9] // 숫자 기준 ..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 각종 특수문자를 문자열로 반환하려면 백틱(``)을 쓰면 된다. 백슬래시(\)의 경우 앞에 백슬래시를 하나 더 추가해주면 된다. console.log(`\\`); // Expected output: \ console.log(`\\\\\\`); // Expected output: \\\ 정답 const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdo..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 concat()은 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환한다. 기존 배열을 변경하지 않고, 추가된 새로운 배열을 반환한다. const array1 = ['a', 'b', 'c']; const array2 = ['d', 'e', 'f']; const array3 = array1.concat(array2); console.log(array3); // Expected output: Array ["a", "b", "c", "d", "e", "f"] 정답 function solut..
· React
// async/await으로 호출 import React, { FC, useEffect, useState } from "react"; const Test: FC = () => { // 문자열 타입의 상태 변수 data를 선언하고 초기값으로 빈 문자열을 할당한다 const [data, setData] = useState(""); useEffect(() => { async function test() { // 비동기로 데이터를 가져오기 위해 fetch 함수를 사용해 API를 호출한다 const response = await fetch("https://jsonplaceholder.typicode.com/todos/1"); // 응답 데이터를 JSON 형식으로 변환해 jsonObj에 할당한다 const jso..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 function solution(picture, k) { let answer = []; picture.forEach(x => { let tmp = []; // 임시 배열을 생성한다 [...x].map(x => { // 각각의 x에 대해서 반복문 실행한다 tmp.push(x.repeat(k)); // 문자를 k번 반복해 임시 배열에 추가한다 }); answer.push(Array(k).fill(tmp.join(""))); // 임시 배열을 k번 반복하여 answer에 추가한다 }); return an..
카버
카버의 코딩일기