본문 바로가기
반응형
[프로그래머스] 수박수박수 | JavaScript 수박수박수박수박수박수박수박수? 문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박" 코드 function solution(n) { let answer = ''; for (let i = 0; i < n; i++) { answer += i % 2 === 0 ? '수' : '박'; } return answer; } 홀수엔 "수", 짝수엔 "박"의 패턴을 갖고 있는 문자열을 리턴해야 한다. n만큼 반복문을 돌고 짝수엔 "수"를, 홀수엔 "박"을.. 2021. 6. 5.
[프로그래머스] 시저 암호 | JavaScript 카이사르 암호(Caesar cipher) 또는 시저 암호 암호학에서 다루는 간단한 치환암호 중 하나. 각각의 알파벳을 일정한 거리만큼 밀어 글자를 치환하는 방식 문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 입출력 예 s n res.. 2021. 6. 5.
[프로그래머스] 정수 제곱근 판별 | JavaScript 정수 제곱근 판별 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 123 144 3 -1 코드 function solution(n) { const sqrt = Math.sqrt(n); // n은 양의 정수만 주어진다. 주어진 값이 정수가 아닐 경우 -1을 반환한다. if (!Number.isInteger(sqrt)) return -1; return (sqrt + 1) * (sqrt + 1); } 자바스크립트 제곱근 구글.. 2021. 6. 5.
[프로그래머스] 2016년 요일 구하기 | JavaScript 2016년 요일 구하기 두 수 a, b를 받아 2016년의 a월, b일이 무슨 요일인지 구하는 알고리즘이다. 예를 들어 a = 5, b = 24라면 2016년의 5월 24일은 화요일이므로 문자열 "TUE"를 반환해야한다. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예 a b result 5 24 "TUE" 코드 function solution(a, b) { const day = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']; const date = new Date(`2016, ${a}, ${b}`); return day[date.getDay()]; } 템.. 2021. 4. 14.
[프로그래머스] 나누어 떨어지는 숫자 배열 | JavaScript 나누어 떨어지는 숫자 배열 정렬되지 않은 배열인 arr의 요소 중 divisor로 나누어 떨어지는 값을 배열에 담아 반환한다. 그 후 오름차순으로 정렬하면 되는 문제이다. 만약 떨어지는 값이 없다면 배열에 -1을 넣어 반환한다. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3, 2, 6] 10 [-1] 코드 function solution(arr, divisor) { const answer = arr.filter((nu.. 2021. 4. 14.
[프로그래머스] 가운데 글자 가져오기 | JavaScript 가운데 글자 가져오기 주어진 문자열의 가운데 글자를 반환하는 문제. 짝수일 경우 가운데 두 글자를 반환해야 한다. 제한사항 s는 길이가 1이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 코드 function solution(s) { const m = Math.round(s.length / 2); let answer = ''; if (s.length % 2 === 0) { answer = s.slice(m - 1, m + 1); } else { answer = s.slice(m - 1, m); } return answer; } 처음엔 `substr()` 메서드를 이용해 문자를 가져오려 했지만 MDN 사이트에서 보니 권장하는 메서드가 아니고 사용처가 많.. 2021. 4. 14.
[프로그래머스] 모의고사 | JavaScript 모의고사 1등은 누구? 수포자 삼인방이 모의고사를 본다. 이 삼인방은 수학 문제를 일정한 패턴을 가지고 전부 찍으려 한다. 그 패턴은 다음과 같다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지 정답이 순서대로 들어있는 배열 answers가 주어지고 가장 많은 문제를 맞힌 사람을 구하는 완전탐색 알고리즘 문제이다. 제한 조건은 다음과 같다. 시험은 최대 10,000 문제로 구성.. 2021. 4. 11.
반응형