The journey to becoming a developer

My future is created by what I do today, not tomorrow.

Total 28

[프로그래머스 Level 1] 가운데 글자 가져오기 (자바스크립트)

Description 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. Constraints s는 길이가 1 이상, 100이하인 스트링입니다. My Solutions (1) String에도 index를 활용할 수 있다는 것을 활용한 풀이 function solution(s) { return s.length % 2 ? s[Math.floor(s.length / 2)] : s[s.length / 2 - 1] + s[s.length / 2]; } 문자열은 유사 배열 객체이면서 이터러블이므로 배열과 유사하게 각 문자에 접근할 수 있다. 유사 배열 객체란, 마치 배열처럼 인덱스로 프로퍼티 값에 접근할 수 있고 length 프로퍼티를..

[프로그래머스 Level 1] 나누어 떨어지는 숫자 배열 (자바스크립트)

Description array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. Constraints arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. My Solution (1) filter 사용 function solution(arr, divisor) { const newarr = arr.filter(v => v % divisor === 0); return newarr.length === 0 ..

[프로그래머스 Level 1] 두 정수 사이의 합 (자바스크립트)

Description 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. Constraints a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. My Solution function solution(a, b) { let sum = 0; if (a

[프로그래머스 Level 1] 문자열 내림차순으로 정렬하기 (자바스크립트)

Description 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. Constraints str은 길이 1 이상인 문자열입니다. My Solution function solution(s) { return s.split('').sort().reverse().join(''); } 각종 메서드를 활용하여 간단하게 풀 수 있었다. Other's Solution function solution(s) { return s .split('') .sort((a, b) => { if (a > b) return -1; if (b > a) return 1; retur..

[프로그래머스 Level 1] 문자열 다루기 기본 (자바스크립트)

Description 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. Constraints s는 길이 1 이상, 길이 8 이하인 문자열입니다. My Solution function solution(s) { if (s.length === 4 || s.length === 6) { if (s.includes('e')) return false; return !isNaN(s); } else return false; } 가장 처음의 조건으로는 문자열의 길이가 4 또는 6이어야 하고, 그렇지 않으면 false를 리턴한다. 문자열의 길이 조건을 통과했다면, 그 문..

[프로그래머스 Level 1] 수박수박수박수박수박수? (자바스크립트)

Description 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. Constraints n은 길이 10,000이하인 자연수입니다. My Solution function solution(n) { return n % 2 === 0 ? '수박'.repeat(n / 2) : '수박'.repeat(n / 2) + '수'; } repeat()과 삼항 연산자를 통해 간단하게 풀어보았다. Other's Solutions 아주 간단한 문제였지만, 다양한 풀이가 있었던 풀이였다. function solution(n) { return '수박'.repeat(n).sub..

[프로그래머스 Level 1] 최대공약수와 최소공배수 (자바스크립트)

Description 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. Constraints 두 수는 1이상 1000000이하의 자연수입니다. 유클리드 호제법(-互除法, Euclidean algorithm) 이 문제를 풀기 위해서는 유클리드 호제법이라는 것에 대한 개념을 알아야 한다. 그래서 개념을 좀 짚고 넘어가려고 한다. 출처는 위키백과. 유클리드 호제법이란, 2개의 자연수 혹은 정식(整式)의 최대공약수를 구하는 알고리즘이다. '호제'는 무슨 뜻..

[프로그래머스 Level 1] 자연수 뒤집어 배열로 만들기 (자바스크립트)

Description 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. Constraints n은 10,000,000,000이하인 자연수입니다. My Solution 메서드를 이용해 아주 간단하게 풀 수 있는 문제였다. 우선 자연수 n을 문자열로 만든 후, split으로 각 자릿수를 원소로 가지는 배열로 변환한다. 그 다음 배열의 각 자릿수를 문자열에서 숫자로 변환한 후, reverse()를 이용해 원소의 순서를 뒤집어주면 끝. Other's Solution function solution(n) { var answer = []; n = n + ""; for (var i = n.length - 1; i >= 0; i..

[프로그래머스 Level 1] 자릿수 더하기 (자바스크립트)

Description Given a natural number N as the parameter, write a function solution to return the sum of each digit of N. For example, if N = 123, return 1 + 2 + 3 = 6. Constraints Range of N : natural number less than or equal to 100,000,000. My Solution 숫자의 각 자릿수를 합한 값을 리턴하는 간단한 문제였다. 받아온 숫자를 문자열로 변환한다. 각 문자열을 하나씩 쪼개서 배열로 만든다. reduce를 이용해 모든 배열 요소의 합을 구한다. +를 이용해 문자열을 숫자로 변환한다. Other's Solution f..

[프로그래머스 Level 1] 정수 내림차순으로 배치하기 (자바스크립트)

Description 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. Constraints n은 1이상 8000000000 이하인 자연수입니다. My Solution function solution(n) { return +((n + '').split('').map((v) => +v).sort((a,b)=> b -a).join('')) } 메서드만 잘 쓸수 있다면 쉽게 풀 수 있는 문제였다. 우선 자연수를 문자열로 만든 후 split으로 각 자릿수들을 원소로 갖는 배열로 만든다. 그 후 각 원소들을 숫자로 변환하고, sort로 내림차순(descending ord..

1 2 3