String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한 사항
• seoul은 길이 1 이상, 1000 이하인 배열입니다.
• seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
• "Kim"은 반드시 seoul 안에 포함되어 있습니다.
function solution(a, b) {
let a = 0
seoul.map((data, index)=>{
if(data === 'Kim')
return a = index
})
return `김서방은 ${a}에 있다`
}
// 해설
// 1. 먼저 a라는 변수 선언(추후에 'Kim'의 index를 받음)
// 2. map에서 인자로 data, index를 받아서 조건문으로 'Kim'이 있다면 해당 index를 반환
// 3. solution의 return 값에 넣어줌
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
제한 조건
• arr은 자연수를 담은 배열입니다.
• 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
• divisor는 자연수입니다.
• array는 길이 1 이상인 배열입니다.
function solution(arr, divisor) {
const answer = arr.filter((item) => item % divisor === 0)
return answer.length === 0 ? [-1] : answer.sort((a,b) => a-b)
}
// 해설
// 1. 받은 배열에서 filter를 사용해서 divisor 나눠서 나머지가 0인 배열을 반환
// 2. solution의 최종 return 값은 삼항 연산자를 활용해서 반환한 배열의 길이가 0이면 [-1] 반환, 그게 아니라면 sort로 최종 배열을 오름차순으로 정리
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
• phone_number는 길이 4 이상, 20이하인 문자열입니다.
function solution(arr, divisor) {
return `${'*'.repeat(phone_number.length-4)}${phone_number.slice(-4)}`
}
// 해설
// 1. 받은 문자열 중 repeat을 활용 전체 문자열의 길이에서 마지막 4자리를 뺀만큼 반복
// 2. 그리고 slice를 활용하여 문자열 맨 뒤에서 4개를 자름!
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한 조건
• absolutes의 길이는 1 이상 1,000 이하입니다.
• absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
• signs의 길이는 absolutes의 길이와 같습니다.
• signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
function solution(absolutes, signs) {
return signs.map((item, index)=> {
if(item === true) return absolutes[index]
else {return -absolutes[index]}
}).reduce((a,b) => a+b)
}
// 해설
// 1. signs에서 map을 통해 true면 absolutes true인 인덱스를 return 그렇지 않으면 -를 붙여서 retrun 그리고 reduce를 통해서 더해줌!
오늘도 힌트 안보고 머리 쥐어짜서 해결했다... 마지막꺼는 풀고 다른 사람들 코드 봤는데 reduce 함수를 진짜 신기하게 쓰더라... reduce랑 for each 공부해야지