✏️기록하는 즐거움
article thumbnail
[프로그래머스] 나누어 떨어지는 숫자 배열 - level 1 (javascript)
Algorithm/Programmers 2022. 8. 22. 17:37

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(arr, divisor) { const answer = arr.filter((num) => num % divisor === 0).sort((a, b) => a-b); return answer.length === 0 ? [-1] : answer; } | 풀이과정 filter 메서드를 사용해서 divisor로 나누어 떨어지는 요소를 반환하게 한 후, 정렬하면 되는 간단한 문제이다. | 개념 Array.prototype.filter() 주어진 함수의 조건에 맞는 모든 요소들..

article thumbnail
[프로그래머스] 두 정수 사이의 합 - level 1 (javascript)
Algorithm/Programmers 2022. 8. 22. 17:23

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(a, b) { return (a+b) * (Math.abs(b-a)+1) / 2; } | 풀이과정 a부터 b까지 수의 합은 등차수열 공식으로 쉽게 풀 수 있다. 등차수열의 합은 아래 공식을 이용하여 구할 수 있다. a와 b의 대소관계가 정해져 있지 않기 때문에 두 수 사이의 개수를 구할 때 Math.abs 메서드를 사용하여 절대값을 이용해야한다. | 개념 Math.abs() 주어진 숫자의 절대값을 반환한다.

article thumbnail
[프로그래머스] 문자열 내 마음대로 정렬하기 - level 1 (javascript)
Algorithm/Programmers 2022. 8. 22. 15:46

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(strings, n) { return strings.sort((a, b) => { if (a[n] > b[n]) return 1; else if (a[n] b ? 1 : -1; }); } | 풀이과정 현재 strings 배열의 요소 중 인덱스가 n인 글자를 기준으로 정렬해야 하기 때문에 sort 메서드의 매개변수로 compareFunction을 정의하여 정렬한다. | 개념 Array.prototype.sor..

article thumbnail
[프로그래머스] 문자열 내 p와 y의 개수 - level 1 (javascript)
Algorithm/Programmers 2022. 8. 22. 15:31

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s) { let convertedWord = s.toLowerCase(); let pCount = convertedWord.split("p").length; let yCount = convertedWord.split("y").length; return pCount === yCount ? true : false; } | 풀이과정 첫 번째 제출 - for문 사용 function solution(s) { let pCount = 0; let yCount = 0; let con..

article thumbnail
[프로그래머스] 문자열 내림차순으로 배치하기 - level 1 (javascript)
Algorithm/Programmers 2022. 8. 1. 10:24

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s) { return s.split("").sort().reverse().join(""); } | 풀이과정 sort() 메서드를 사용하면 문자열이 오름차순으로 정렬되므로, reverse() 메서드로 뒤집어서 내림차순으로 반환한다. | 개념 String.prototype.split() String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눈다. 구분자가 빈 문자열일 경우 str의 각각의 문자가 배열의 원소 하나씩으로 변환된다. Array.prototype.s..

article thumbnail
[프로그래머스] 문자열 다루기 기본 - level 1 (javascript)
Algorithm/Programmers 2022. 8. 1. 10:19

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s) { return !s.includes("e") && !isNaN(s) && (s.length === 4 || s.length === 6); } | 풀이과정 문자열 s의 길이를 판별하는 것은 length를 통해 쉽게 비교할 수 있다. 숫자로 구성돼있는지 확인하기 위해서는 isNaN을 사용하면 된다. 만약, 문자열에 알파벳이 들어있다면 숫자형으로 변환했을 때 NaN이기 때문에 isNaN은 true를 반환한다. 추가로 생각해주어야 할 것은 지수 표기법이다. 예를 들어,..

article thumbnail
[프로그래머스] 서울에서 김서방 찾기 - level 1 (javascript)
Algorithm/Programmers 2022. 8. 1. 09:58

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(seoul) { const index = seoul.indexOf("Kim"); return `김서방은 ${index}에 있다`; } | 풀이과정 입력받은 문자열에서 indexOf 메서드를 사용해 "Kim"이 첫 번째로 나오는 인덱스를 저장하여 출력하면 된다. 현재 문제에서 "Kim"은 한 번만 나타난다고 했기 때문에 간단하게 풀 수 있었다. | 개념 String.prototype.indexOf() 문자열에서 지정된 요소가 발견되는 첫 번째 인덱스를 반환하고 해당 값이..

article thumbnail
[프로그래머스] 수박수박수박수박수박수? - level 1 (javascript)
Algorithm/Programmers 2022. 8. 1. 09:48

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 1. 나의 풀이 function solution(n) { let answer = []; for (let i = 0; i < n; i++) { if (i % 2 === 0) { answer.push("수"); } else { answer.push("박"); } } return answer.join(""); } 2. 다른 사람의 풀이 참고 function solution(n) { return "수박".repeat(n / 2 + 1).slice(0, n); } | 풀이과정 입력받은 n이 홀수인지 짝수인지에..

article thumbnail
[프로그래머스] 문자열을 정수로 바꾸기 - level 1 (javascript)
Algorithm/Programmers 2022. 8. 1. 09:32

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s) { return +s; } | 풀이과정 단항 덧셈 연산자 '+'는 Number() 나 parseInt() 메서드와 같이 피연산자가 숫자가 아닌 경우, 숫자형으로 변환시켜준다.

article thumbnail
[프로그래머스] 시저 암호 - level 1 (javascript)
Algorithm/Programmers 2022. 8. 1. 09:29

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s, n) { const upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; const lower = "abcdefghijklmnopqrstuvwxyz"; let answer = ""; for (let i = 0; i < s.length; i++) { const word = s[i]; if (word === " ") { answer += " "; continue; } const arr = upper.includes(word) ? upper : lower..