프로그래머스, 자바스크립트) 숫자의 표현
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이문제 접근을 생각해보면...1+2+3+4 연속된 자연수를 가져야 되니 일단 반복문을 돌려서 숫자를 준비한다.그러면 1+2+3 ... , 2+3+4..., 이런식으로 처음 시작되는 숫자를 기준으로 더한 값을 구할 수 있다. n이 되는 연속 합을 찾기 위해 n이 되면 answer를 증가시키고 쓸데없는 반복이 없도록  n 이상이면 breakfunction solution(n) { let answer = 0; for (let i = 1; i ..
프로그래머스, 자바스크립트) 삼총사
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/131705?language=javascript 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이function solution(number) { let count = 0; const len = number.length; // 3중 반복문을 사용하여 모든 가능한 조합을 확인 for (let i = 0; i
프로그래머스, 자바스크립트) 로또의 최고 순위와 최저 순위
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이최고 순위와 최저 순위를 알기 위해서는 두 가지 케이스를 생각하면 된다.가지고 있는 로또 번호 중 당첨 번호 + 미확인 번호가 전부 일치 가지고 있는 로또 번호 중 당첨 번호 + 일치하는 번호 없음전체 로또 번호를 돌면서 , 맞은 수를 세고 0으로 표기된 부분을 세준다.그다음 최고, 최저를 계산해 등수로 환산한다.function solution(lottos, win_nums) { let zeroCount = 0; let correctC..
프로그래머스, 자바스크립트) 이상한 문자 만들기
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야한다.공백으로 단어를 분리한 후, 다시 그 단어를 알파벳 하나씩 돌면서 홀짝을 판별해준다, 마지막에는 합치기function solution(s) { return s .split(" ") // 공백으로 단어를 분리 .map(word => [...word] .map((char, i) => i % 2 =..
프로그래머스, 자바스크립트) 크기가 작은 부분문자열
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/147355?language=javascript 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이반복문을 돌며, p의 길이만큼 첫문자부터 잘라낸 다음, 그 문자를 p와 비교한다.function solution(t, p) { //p 길이 let answer = 0; const pLength = p.length; //p길이 부분 문자열 찾기, 부분 문자열 길이만큼만 반복 for (let i = 0; i
프로그래머스, 자바스크립트) 최대공약수와 최소공배수
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이최대공약수와 최소공배수를 구할때는 유클리드 호제법을 알면 쉽게 구할 수 있다.유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 말은 두 수가 서로(互) 상대방 수를 나누어(除)서 결국 원하는 수를 얻는 알고리즘을 나타낸다.2개의 자연수(또는 정식) a, b에 대해서 a를..
프로그래머스, 자바스크립트) 직사각형 별찍기
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/12969 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이문자를 a번 반복한 것을 b번 만큼 출력해준다.process.stdin.setEncoding('utf8');process.stdin.on('data', data => { const n = data.split(" "); const a = Number(n[0]), b = Number(n[1]); for(let i = 0; i
프로그래머스, 자바스크립트) 행렬의 덧셈
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/12950 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이두 배열의 크기가 같으니 한 배열을 기준으로 돌면서 값을 업데이트한다.function solution(arr1, arr2) { return arr1.map((row, i) => row.map((val, j) => val + arr2[i][j]) );}
프로그래머스, 자바스크립트) 같은 숫자는 싫어
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이필터를 걸어 다음 숫자와 같은지 판별한 후 같지 않는 숫자만 넘긴다.function solution(arr) { return arr.filter((v, i) => v !== arr[i + 1]);}
프로그래머스, 자바스크립트) 문자열 다루기 기본
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이정규식으로 길이가 6또는 4인지, 숫자만 들어가있는지 판단한다.isNaN으로 생각할 수도 있지만 "12e", "16x1" 같은 애들도 숫자로 판단하기에 예외처리를 해줘야된다. 정규식 풀이는 다음과 같다.^: 문자열의 시작을 나타냅니다.\d: 숫자를 나타내는 메타 문자입니다. [0-9]와 동일합니다.{6}: 바로 앞의 문자(여기서는 \d, 즉 숫자)가 정확히 6번 반복되어야 함을 의미합니다.$:..