✏️기록하는 즐거움
article thumbnail
[프로그래머스] [1차] 비밀지도 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 19. 17:24

| 제출 function solution(n, arr1, arr2) { let newArr = []; for (let i = 0; i item .padStart(n, 0) .split("") .map((num) => (num === "1" ? "#" : " ")) .join("") ); } | 풀이과정 비트 OR 연산자( | )는 대응되는 비트 중에서 하나라도 1이면 1을 반환한다. 현재 두 그림을 더했을 때 벽인 부분은 전체 지도에서도 벽이되고, 모두 공백인 부분만 전체 지도에서 공백이다. 벽은 1, 공백은 0으로 표현되기 때문에 주어진 두 배열을..

article thumbnail
[프로그래머스] 최소직사각형 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 19. 16:53

| 제출 function solution(sizes) { let maxSize = [0, 0]; sizes.map(([w, h]) => w { if(w > maxSize[0]) maxSize[0] = w if(h > maxSize[1]) maxSize[1] = h }); return maxSize[0] * maxSize[1]; } | 풀이과정 가로, 세로 길이가 크기 상관없이 주어졌기 때문에 정렬을 해주어야 한다. sizes.map((item) => itme.sort((a, b) => a - b)); map 메서드 안에서 sort 메서드를 사용하여 정렬해주어도 되지만, if 문으로 비교하는 것이 더 속도가 빠르다. 현재 요소인..

article thumbnail
[프로그래머스] 이상한 문자 만들기 - level 1 (javascript)
Algorithm/Programmers 2022. 7. 18. 10:17

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s) { let arr = s.split(" "); for (let i = 0; i index % 2 === 0 ? item.toUpperCase() : item.toLowerCase() ) .join(""); } return arr.join(" "); } | 풀이과정 문자열 전체가 아닌 단어별로 짝/홀수 인덱스를 판단해야한다. 따라서 공백을 기..

article thumbnail
[프로그래머스] 자릿수 더하기 - level 1 (javascript)
Algorithm/Programmers 2022. 7. 18. 10:17

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(n) { return n.toString().split("").map(Number).reduce((a,b) => a + b); } | 풀이과정 입력받은 N의 각 자릿수의 합을 구해야하기 때문에 우선 N을 split() 메서드로 분리한다. split() 메서드를 사용하면 배열이 되기 때문에 reduce() 메서드를 사용해서 합을 구한다. | 개념 Array.prototype.reduce() 배열의 각 요소에 대해 주어진 reducer 함수를 실행한 결과값을 반환한다. 👇..

article thumbnail
[프로그래머스] 자연수 뒤집어 배열로 만들기 - level 1 (javascript)
Algorithm/Programmers 2022. 7. 18. 10:06

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(n) { return n.toString().split("").reverse().map(Number); } | 풀이과정 reverse() 메서드를 사용하여 순서를 뒤집은 뒤, string 배열 요소들을 number 요소로 변경하여 반환한다. | 개념 Array.prototype.reverse() 배열의 순서를 반전한다. 마지막 요소는 첫 번째 요소가 되고, 첫 번째 요소는 마지막 요소가 된다. 👇 유사한 문제👇 [프로그래머스] 정수 내림차순으로 배치하기 - level ..

article thumbnail
[프로그래머스] 행렬의 덧셈 - level 1 (javascript)
Algorithm/Programmers 2022. 6. 27. 09:53

코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr | 제출 function solution(arr1, arr2) { return arr1.map((item1, index1) => item1.map((item2, index2) => item2 + arr2[index1][index2])); } | 풀이과정 행렬 arr1과 arr2는 같은 행, 같은 열의 값을 더한 것이다. 각 행렬의 요소는 배열로 이루어져 있기 때문에 map을 두 번 사용해서 문제를 풀 수 있다. arr1 안의 한 배..

article thumbnail
[백준] 1330: 두 수 비교하기 (javascript)
Algorithm/Baekjoon 2022. 2. 23. 20:59

Link 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 입력 > 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. 출력 > 첫째 줄에 다음 세 가지 중 하나를 출력한다. - A가 B보다 큰 경우에는 '>'를 출력한다. - A가 B보다 작은 경우에는 '

article thumbnail
[백준] 10430: 나머지 (javascript)
Algorithm/Baekjoon 2022. 2. 8. 11:47

Link 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 문제 (A+B)%C는 ((A%C) + (B%C))%C 와 같을까? (A×B)%C는 ((A%C) × (B%C))%C 와 같을까? 세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오. 입력 > 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) 출력 > 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다. 제출 const fs = require("fs"); const input = ( process...