개발 기록
-
[프로그래머스 Lv. 1] 두 정수 사이의 합Algorithm 2023. 10. 20. 15:14
[문제 설명] 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. [입출력 예] a b return 3 5 12 3 3 3 5 3 12 [풀이] - a와 b를 비교해줄 함수 필요 - Math.min(a, b) : a와 b중 최소값 출력 - Math.max(a,b) ; a와 b중 최대값 출력 function solution(a, b) { let sum = 0; for(let i = Math.min(a,b); i
-
[프로그래머스 Lv. 1] 정수 내림차순으로 배치하기Algorithm 2023. 10. 20. 14:48
[문제 설명] 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. [입출력 예] n return 118372 873211 [풀이] function solution(n) { return Number(String(n).split('').sort().reverse().join('')); } - n이 오름차순 정렬 제대로 안되어있으므로 sort()로 오름차순 정렬 후 reverse()로 내림차순 정렬
-
[프로그래머스 Lv. 1] 정수 제곱근 판별Algorithm 2023. 10. 20. 14:32
[문제 설명] 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. [입출력 예] n return 121 144 3 -1 [풀이] - Math.sqrt(n) : n의 제곱근 출력 ( Math.sqrt(9) => 3 ) - Math.pow(2, 3) : 2의 3제곱 출력 function solution(n) { return Number.isInteger(Math.sqrt(n)) ? Math.pow(Math.sqrt(n)+1, 2) : -1; }
-
[프로그래머스 Lv. 1] 문자열 내 p와 y의 개수Algorithm 2023. 10. 20. 14:18
[문제 설명] 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. [입출력 예] s answer "pPoooyY" true "Pyy" false [풀이] - p의 개수 = s의 전체 길이 - p를 제외한 문자 개수 (정규표현식, replace함수 이용) - y의 개수 = s의 전체 길이 - y를 제외한 문자 개수 (정규표현식, replace..
-
[프로그래머스 Lv. 1] 자연수 뒤집어 배열로 만들기Algorithm 2023. 10. 20. 13:34
[문제 설명] 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. [입출력 예] n return 12345 [5,4,3,2,1] [풀이] - 틀린 코드 function solution(n) { return String(n).split('').sort().reverse().map((a) => Number(a)); } sort() 함수 쓸 필요x - 정답 코드 function solution(n) { return String(n).split('').reverse().map((a) => Number(a)); } // 방법1 function solution(n) { return String(n).split('').map(N..
-
[프로그래머스 Lv. 1] 자릿수 더하기Algorithm 2023. 10. 20. 13:13
[문제 설명] 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. [입출력 예] N answer 123 6 987 24 [풀이] - String(n) : n을 문자열(유사 배열 객체)로 변경 - Array.reduce() : 배열의 각 요소에 대해 함수 실행 (모든 배열의 합 구할 때 용이) function solution(n) { return String(n).split('').reduce((a, b) => a + Number(b), 0); } - 위의 더해가는 값 b는 문자열이므로 숫자로 바꾸는 함수 Number()을 사용