JS

Front-End/JavaScript

[JavaScript] 자바스크립트로 동적 테이블 만들기 (ft. 버튼 클릭)

구현하려고 하는 동적 테이블 리액트 주차를 시작하기 전에 바닐라 자바스크립트로 간단한 1/N 계산기를 만들어보고 싶었다. 사용자가 데이터를 편하게 입력할 수 있도록 행은 메뉴를, 열은 인원을 동적으로 입력할 수 있도록 table로 만들었다. HTML 구성 메뉴추가 인원추가 🍞 메뉴명 금액 - - 메뉴 삭제 식사비용 1/N 계산의 경우 메뉴 한 개, 사람 두 명 이상은 필수값이므로 HTML에 하드코딩했다. 두 번째 메뉴, 세 번째 사람부터는 버튼을 클릭해 동적으로 추가 및 삭제가 가능하도록 HTML을 구성했다. 버튼 클릭 시 행 추가하기 전체 코드 document.getElementById('add_menu').addEventListener('click', () => { // table 변수는 다른 함수에..

Front-End/Algorithm

[프로그래머스 / JavaScript] Lv.0 한 번만 등장한 문자

문제문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해 보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다. 제한사항0

Front-End/JavaScript

[JavaScript] 브라우저 렌더링 과정(원리)

프론트엔드 기술 면접에서 중요하게 나오는 주제 중 하나가 브라우저 렌더링 원리이다. 그렇다면 왜 브라우저 렌더링 원리를 중요하게 여기고, 우리는 그에 대해 알아야 할까? 브라우저 렌더링 과정(원리)을 알아야 하는 이유 C나 JAVA와 같은 대부분의 프로그래밍 언어는 운영체제나 가상머신 위에서 실행된다. 자바스크립트도 런타임 환경에서 사용한다면(node.js) 이야기가 다르겠지만, 프론트엔드 개발자가 개발할 클라이언트 사이드에서의 자바스크립트는 어떻게 실행될까? 웹 브라우저에서는 뼈대를 그리는 HTML, 살을 붙여 꾸며주는 CSS와 그것의 동작을 수행하고 제어하는 자바스크립트가 함께 실행된다. 따라서 내가 의도한대로 코드를 실행시키려면 브라우저가 우리가 작성한 코드를 어떤 순서대로 어떻게 읽어주는지, 즉 ..

Front-End/Algorithm

[프로그래머스 / JavaScript] Lv.1 k의 개수

문제 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해 주세요. 제한사항 1 ≤ i i + y); // 배열 안의 모든 수를 하나의 문자열로 만든다. const str = arr.join(''); // str의 전체 길이와 str에서 k를 제외한 길이를 빼 답을 return한다. return str.length - str.replaceAll(k, '').length; } 이전에 합성수 찾기 답안에서 배웠던 n부터 m까지의 수를 순차적으로 배열에 담는 법을 적용해 볼 수 있어 좋았다. String.prototype.replaceAll..

Front-End/Algorithm

[프로그래머스 / JavaScript] Lv.1 신규 아이디 추천 (ft. 테스트 케이스)

문제 설명 더보기 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해 주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입..

Front-End/Algorithm

[프로그래머스 / JavaScript] Lv.1 로또의 최고 순위와 최저 순위

문제 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다. 당첨..

Front-End/Algorithm

[프로그래머스 / JavaScript] Lv.1 행렬의 덧셈

문제 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한사항 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 arr1 arr2 return [[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]] [[1],[2]] [[3],[4]] [[4],[6]] 내가 작성한 답안 이중 for문 사용하기 function solution(arr1, arr2) { let answer = []; for(let i = 0; i < arr1.length; i++) { let newArr = []; for(let ..

Front-End/Algorithm

[프로그래머스 / JavaScript] Lv.1 핸드폰 번호 가리기

문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해 주세요. 제한사항 phone_number는 길이 4 이상, 20이하인 문자열입니다. 입출력 예 phone_number return "01033334444" "*******4444" "027778888" "*****8888" 내가 작성한 답안 맨 처음 작성한 답안 (02/16) function solution(phone_number) { let answer = "" for(let i = 0; i < phone_number.length -..

Front-End/JavaScript

[JavaScript] 자바스크립트로 숫자야구 프로그램 만들기

문제 컴퓨터는 0과 9 사이의 서로 다른 숫자 3개를 무작위로 뽑습니다. ex. 123, 579 사용자는 컴퓨터가 뽑은 숫자를 맞추기 위해 시도합니다. 컴퓨터는 사용자가 입력한 세 자리 숫자에 대해서, 아래의 규칙대로 스트라이크(S)와 볼(B)을 알려줍니다. - 숫자의 값과 위치가 모두 일치하면 S - 숫자의 값은 일치하지만 위치가 틀렸으면 B 기회는 무제한이며, 몇 번의 시도 후에 맞췄는지 기록됩니다. 숫자 3개를 모두 맞춘 경우 게임을 종료합니다. 조건문, 반복문을 활용하여 해결합니다. 진행 방식 컴퓨터가 숫자를 생성하였습니다. 답을 맞춰보세요! 1번째 시도 : 134 0B0S 2번째 시도 : 238 1B1S 3번째 시도 : 820 2B1S 4번째 시도 : 028 3B 5번째 시도 : 280 3S 4..

Front-End/JavaScript

[JavaScript] 자바스크립트 변수 여러 개 한 줄에 선언하기

간단한 코드를 작성하던 중, 변수 x와 y를 선언 시 동일한 값을 할당할 것이기 때문에 한 줄에 짧게 작성할 수 있는지 궁금해졌다. 1) let p, y = 0 ❌ function solution(s){ const str = s.toLowerCase(); let p, y = 0; for(let i of str) { if(i === 'p') p++; if(i === 'y') y++; } return p === y ? true : false; } 위의 코드를 실행했을 때 p값이 제대로 담기지 않아 for문 안에 console.log을 넣어 확인해 보았다. function solution(s){ const str = s.toLowerCase(); let p, y = 0; for(let i of str) { c..

Olivia Kim
'JS' 태그의 글 목록 (2 Page)