코딩테스트 112

이진 변환 반복하기 (JS)

https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(s) { let cnt = 0; // 이진 변환 횟수 let zeroCnt = 0; // 제거된 0의 개수 while (s.length !== 1) { let beforeX = s.length; s = s.replace(/0/g, ""); let afterX = s.length; zeroCnt += (beforeX - afterX) s = afterX.toStrin..

올바른 괄호 (JS)

https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(s){ const arr = s.split(''); let tmp = []; let answer = true; arr.map(char => { if (char === ')') { if (tmp.length === 0) { answer = false; } tmp.pop(); } else { tmp.push(char); } }) if (tmp.length > 0) an..

JadenCase 문자열 만들기 (JS)

https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(s) { const str = s.toLowerCase(); let answer = str.replace(/\b[a-z]/g, char => char.toUpperCase()); return answer; } 먼저 toLowerCase 메서드를 사용하여 주어진 문자열을 모두 소문자로 바꿔주었다. 그다음 replace와 toUperCase 메서드를 사용해서 공백 기준..

최댓값과 최솟값 (JS)

https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(s) { let arr = s.split(" ").map(Number); let min = Math.min(...arr); let max = Math.max(...arr); let answer = `${min} ${max}`; return answer; } 주어진 문자열을 공백 기준으로 나눈 배열을 만들고, spread 연산자와 Math 메서드 (min, max)를..

[백준 #14912] 숫자 빈도 수 (node.js)

https://www.acmicpc.net/problem/14912 14912번: 숫자 빈도수 자연수 n (1 ≤ n ≤ 100,000)과 한 자리 숫자 d(0~9)가 첫째 줄에 주어진다. www.acmicpc.net toString().split(' ').map(Number)로 입력받은 값을 공백 기준으로 나눈 후, 각 원소를 숫자로 만들어주었다. 그다음 input[0]는 변수 n, input [1]은 변수 d에 넣어주었다. (input [1]을 문자열로 바꾼 이유는 객체 key 값으로 사용할 것이기 때문이다) 그리고 1부터 n까지 for 문을 돌면서 toString().split('')으로 해당 숫자를 한 글자씩 나누어 배열로 만들어 주었다 (해당 숫자의 자릿수를 모르기 때문) 그 후, map을 사용..

직사각형 별찍기 (JS)

https://school.programmers.co.kr/learn/courses/30/lessons/12969 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 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

하샤드 수 (JS)

https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(x) { const arr = x.toString().split('').map(e => +e); let sum = arr.reduce((acc, cur) => acc+cur); return x % sum === 0 ? true : false; } 자릿수의 합을 구하기 위해 toString과 split을 사용하여 입력받은 정수 x를 한 자리씩 나누어 배열로 만들어주고..