JAVASCRIPT/코딩테스트18 프로그래머스 코딩테스트 레벨 1 - 직사각형 별찍기[자바스크립트] 해석 및 답안 문제 두 개의 정수 n,m이 주어졌을때, 별(*) 문자를 이용해서 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력하면 된다. 예시에 나온 5와 3을 예로 들면, ***** ***** ***** 이런식으로 별표가 출력되게 한다. 제한조건 n,m은 각각 1000이하의 자연수. 코딩에서 딱히 신경을 쓰지 않았다. 답 먼저 자바스크립트의 기본적인 입출력을 위해 process.stdin을 사용했다. const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); 보통 위와 같이 인터페이스 객체를 만들어 input과 output을 통해 입출력을 할 수 있다. 그리고 사용 시엔, rl.on("line", (lin.. 2023. 3. 22. [자바스크립트] 프로그래머스 레벨 1 - 내적 해석 및 답안 문제 길이가 같은 두 일차원 배열 a,b가 주어진다. 두 배열의 내적을 구하는 문제이다. 내적은 a[0]*b[0] + a[1]*b[1] + ... a[n-1]*b[n-1] (n은 배열의 길이) 형태로 계산된다. 각 배열의 값들을 하나씩 꺼내서 각 수를 곱한 뒤 총합을 구해주면 된다. 제한사항 a,b의 범위를 나타내는데 코딩에서 딱히 신경 쓸 점은 없었다. 답 이 문제를 풀기 위해 filter()라는 함수를 썼다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter Array.prototype.filter() - JavaScript | MDN filter() 메서드는 주어진 함수의 테스트를 통과하.. 2023. 3. 4. [자바스크립트]프로그래머스 레벨 2 - 이진 변환 반복하기 문제 0과 1로 이루어진 문자열 x에 대해 이진 변환을 정의한다. 1. x의 모든 0은 제거 2. x의 길이를 2진법으로 표현한 문자열로 바꿈 1과 2번을 계속 반복하여 제거된 모든 0의 개수를 배열에 담아 return 하는 문제이다. 문자열의 문자들을 비교하여 0일 경우 제로 카운트를 더해주고 1일 경우 원 카운트를 더해주는 방식으로 가닥을 잡았다. 이진법으로 바꾼 문자열을 비교하는 데에는 filter함수를 사용하기로 생각했다. 이 과정을 while문을 사용해 반복해주면 제로 카운트와 원 카운트의 합을 구할 수 있을 것이고 그것을 배열로 담으면 될 것이다. 제한사항 s의 길이는 1 이상 150,000 이하. s에는 '1'이 무조건 한개 이상 포함. 신경써서 코딩하는 부분은 없었다. 이진 변환을 반복했을.. 2023. 2. 27. [자바스크립트]프로그래머스 레벨1 - 음양 더하기 문제 배열 absolute에는 어떤 정수의 절대값이 담겨 있고 배열 sign에는 absolute의 값이 음인지 양인지를 판단하는 true, false 형태의 boolean 값이 들어있다. 이 두개의 배열을 input 하여 실제 정수의 합을 return 시키면 된다. 일단 배열이 두개 주어졌으니 배열을 순회하며 값을 비교해야 겠다고 생각했다. 그리고 자바스크립트의 filter함수를 써야겠다고 생각했다. filter의 index 파라미터를 통해 sign의 값을 쉽게 가져와 비교할 수 있기 때문이다. 제한사항 sign의 길이와 absolute 배열의 길이는 같다. 그리고 sign이 true면 양의 정수, false면 음의 정수임을 나타낸다. 답 function solution(absolutes, signs) .. 2023. 2. 19. 프로그래머스 레벨1 - 로또의 최고 순위와 최저 순위(자바) https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 각 배열의 값을 비교하면서 일치하는 번호가 있다면 최솟값 min, 최댓값 max 두 변수를 증가시켜야 겠다는 생각을 했다. 그리고 0인 값, 지워진 번호가 있다면 최댓값 max만 증가시키면 된다. 최고 등수를 맞히려면 0인 수는 무조건 당첨 번호여야 하기 때문이다. 그렇게 해서 당첨번호와 일치하는 개수를 구하고 나면 맞힌 개수에 따른 당첨 순위를 구현하면 된다. 그리고 배열의 각 값들을 직관.. 2023. 2. 15. 프로그래머스 레벨1 - 약수의 개수와 덧셈(자바스크립트) https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 두 자연수 left와 right 사이의 수들 중 약수의 개수가 짝수인 수는 더하고 홀수인 수는 뺀다. 약수란 나머지가 0이 되게 딱 나눠떨어지는 수다.(ex:14의 약수는 1,2,7,14) 이 약수를 코딩에서 어떻게 구현해야 할지를 먼저 생각했다. 제일 먼저 생각난 것은 for문돌리고 나누고 난 나머지 구하는 연산인 '%' 를사용하는 것이다. 그리고 구한 약수들의 배열 중에서 길이가 짝수인 .. 2023. 2. 14. 이전 1 2 3 다음