프로그래머스, 자바스크립트) 수열과 구간 쿼리 4
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181922 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 queries에 대한 반복문을 돌면서 해당 요소를 구조분해 할당으로 접근한다. i가 s부터 시작해서 e까지 1씩 증가하는 반복문을 돌리면서 k의 배수가 되는 경우를 찾는다(k로 나누어 0이 되는 경우) 조건에 부합하면 1을 더한 값을 재할당해준다. function solution(arr, queries) { for (n of queries) { const [s, e, k] = n; f..
프로그래머스, 자바스크립트) 문자열 여러 번 뒤집기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 잘라내야 하는 부분을 잘라내 뒤집어 준 후, 그 문자가 들어갈 칸 앞, 뒤를 또 잘라내어 이어붙여준다. function solution(my_string, queries) { for (let i = 0; i < queries.length; i++) { const [start, end] = queries[i]; const reversed = [...my_string] .slice(sta..
프로그래머스, 자바스크립트) 조건 문자열
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(ineq, eq, n, m) { let answer = ""; if (eq === "=") { answer = ineq === "
프로그래머스, 자바스크립트) 잘라서 배열로 저장하기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120913?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 잘라낼 수 만큼 증가시켜 반복문을 돌린다. 반복문을 돌면서 해당 길이로 잘라 배열에 넣어준다. function solution(my_str, n) { let answer = []; for (i = 0; i < my_str.length; i += n) { answer.push(my_str.slice(i, i + n)); } return answer }
프로그래머스, 자바스크립트) 소인수분해
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120852 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열을 돌면서 몫으로 나눴을때 나머지가 0으로 떨어지는 애만 while 문을 타며 arr 배열에 추가한다. 배열에 추가한 후, n의 값은 n/i 로 변경한다. (기존 소인수 분해 방식과 동일) 다음으로 반복문이 끝나고 얻은 배열을 Set 기능을 사용해 중복을 제거한 집합으로 만들고 다시 배열로 풀어 넣어준다. function solution(n) { var arr = []; for (..
프로그래머스, 자바스크립트) 문자열 계산하기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120902 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 공백을 기준으로 나눈다 . ["345", "+", "2323", "-", "122"] 이런식으로 나눠지게 된다 첫번째 요소를 가져온 다음 반복문을 돌려 연산을 시작한다. /**eval 함수는 권장하지 않음 */ // function solution(my_string) { // return eval(my_string); // } function solution(my_string) ..
프로그래머스, 자바스크립트) 로그인 성공?
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열을 돌면서 패스워드와 아이디가 일치하는지 확인한다. function solution(id_pw, db) { const [id, password] = id_pw; for (const data of db) { const [exId, exPassword] = data; if (id === exId && password === exPassword) return "login"; else i..
프로그래머스, 자바스크립트) 문자 개수 세기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181902 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 A-z까지 문자열을 돌면서 해당 문자열의 수만큼 배열에 push해준다. function solution(my_string) { const answer = []; const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; for (let i = 0; i < alphabet.length; i++) { answer.pu..
프로그래머스, 자바스크립트) 왼쪽 오른쪽
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 반복문을 돌면서 l을 만날경우 l앞까지 잘라내고 r을 만날 경우 r이후부터 잘라낸다. 반복문을 돌아도 조건문에 걸리지 않는 경우에는 빈배열을 리턴한다. function solution(str_list) { for (let i = 0; i < str_list.length; i++) { if (str_list[i] === "l") { return str_list.slice(0, i); }..
프로그래머스, 자바스크립트) 특수문자 출력하기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181948 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 //!@#$%^&*(\'"?:; 출력하기 console.log("!@#$%^&*(\\'\"?:;") //작은따옴표와 역슬래시 문자는 이스케이프(escape) 시퀀스로 처리해야 합니다. //즉, 작은따옴표는 \'로, 역슬래시는 \\로 표기해야 합니다. 그렇지 않으면 문법 오류가 발생합니다. 역슬래시는 \\로 표기해야 된다는 것만 알면 된다 const readline = require("..