Lucky Charms Clover

⚙️ 코딩테스트

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 가운데 글자 가져오기

문제 및 제한사항 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. **제한사항** s는 길이가 1 이상, 100이하인 스트링입니다. 풀이 방법 예를 들어 문자열 s가 "abcde" 라면 "c"를 반환하고, "qwer"이라면 "we"을 반환하면 된다. 문자열 s를 2로 나눴을 때 0이 아니라면 (홀수) 딱 가운데를 반환해야 하므로 나눈 값을 버린 수를 인덱스로 하여 반환하고, 0이라면 (짝수) 딱 가운데 2개를 반환해야 하므로 반의 한 글자 앞 + 반을 반환했다. 코드 function solution(s) { return s.length % 2 !== 0 ? s[Math.floor(s.length / 2)] : s[s.l..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 없는 숫자 더하기

문제 및 제한사항 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. **제한사항** 1 ≤ numbers의 길이 ≤ 9 - 0 ≤ numbers의 모든 원소 ≤ 9 - numbers의 모든 원소는 서로 다릅니다. 풀이 방법 0부터 9까지를 순회하는 for문을 돌려서 numbers안에 해당 수가 없을 경우에는 answer에 그 수를 더해준다. 예를 들어 numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8] 일 때, i = 9 라면 9는 inclueds되어 있지 않으므로 9를 더한 값이 반환되면 된다. includes를 ..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 제일 작은 수 제거하기

문제 및 제한사항 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. **제한사항** arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 풀이 방법 먼저 arr에서 가장 작은 수를 찾고, 그 수를 min이라고 선언했다. filter를 써서 arr에서 min을 뺀 나머지를 filtered로 선언했고, 만약 이 배열의 길이가 0이라면 -1을, 그렇지 않다면 그대로 반환했다. 이 때 삼항 연산자를 써봤는데 확실..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 음양 더하기

문제 및 제한사항 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. **제한사항** absolutes의 길이는 1 이상 1,000 이하입니다. -absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. -signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 풀이 방법 예를 들어 absolutes = [4, 7, 12], signs = [true, false, true] 일 때..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 핸드폰 번호 가리기

문제 및 제한사항 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. **제한사항** phone_number는 길이 4 이상, 20이하인 문자열입니다. 풀이 방법 예를 들어 주어진 문자열 phone_number가 "01033334444" 일 때 "*******4444"로 반환되면 된다. 해당 문자열의 숫자는 휴대전화번호처럼 344 형태가 아니라 234 형태일 수도 있으므로 앞에서 카운트하기 보다 뒤에서부터 4자리를 카운트했다. 뒤에서부터 4자리 앞은 *이 반복되어 출력되어야 하므로 해..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 나누어 떨어지는 숫자 배열

문제 및 제한사항 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. **제한사항** arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 풀이 방법 예를 들어 arr = [5, 9, 7, 10], divisor = 5일 때, result = [5, 10] 처럼 divisor로 나누어 떨어지는 값들만 담긴 배열이 반환돼야 한다. 나누어 떨어지는 값만 담을 빈 배열 answer를 선언해주고,..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 서울에서 김서방 찾기

문제 및 제한사항 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. **제한사항** seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. "Kim"은 반드시 seoul 안에 포함되어 있습니다. 풀이 방법 배열 중 특정 원소의 위치(인덱스)를 찾기 위해 indexOf를 써주었다. 출력해야 하는 문자열이 "김서방은 (위치)에 있다" 라서 백틱과 $를 사용해 바로 한 줄로 리턴해주었다. 코드 function solution(seoul) { re..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 콜라츠 추측

문제 및 제한사항 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. **제한..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 두 정수 사이의 합

문제 및 제한사항 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. **제한사항** a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 풀이 방법 몇 주 전 백준에서 파이썬으로 이런 문제를 푼 적이 있어서 쉽게 알고리즘을 그릴 수 있었다. 먼저 a, b의 대소관계가 정해져 있지 않으므로 더 큰 수와 더 작은 수를 max, min으로 지정하고 두 정수의 차를 변수 minus로 지정했다. 작은 수부터 큰 수까지 for문을 돌려..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 하샤드 수

문제 및 제한사항 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. **제한사항** x는 1 이상, 10000 이하인 정수입니다. 풀이 방법 먼저 각 자릿수의 합을 구하기 위해 주어진 수를 문자로 바꿔주고, 빈 문자열로 나눈 후 각 요소를 Number화 해준다. 그러면 각 자릿수가 다 숫자가 된다. (1, 8) for문을 돌려서 인덱스들을 다 더해준 뒤, 이 값을 주어진 수로 나눴을 때 0인지 아닌지 판별한다. 이 때 삼항연산자를 사용했다. 코드 function solution(x..

썸머몽
'⚙️ 코딩테스트' 카테고리의 글 목록 (12 Page)