https://school.programmers.co.kr/learn/courses/30/lessons/76501?language=javascript
1.문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한사항
absolutes의 길이는 1 이상 1,000 이하입니다.
absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
signs의 길이는 absolutes의 길이와 같습니다.
signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
function solution(absolutes, signs) {
let answer = 0;
for (let i = 0; i < absolutes.length; i++) {
if (signs[i] == true) {
answer += absolutes[i]
}else {
answer -= absolutes[i]
}
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/12948?language=javascript
2. 문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.
function solution(phone_number) {
let answer = '';
answer = '*'.repeat(phone_number.length - 4) + phone_number.slice(-4)
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/86051?language=javascript
3. 문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ numbers의 길이 ≤ 9
0 ≤ numbers의 모든 원소 ≤ 9
numbers의 모든 원소는 서로 다릅니다.
function solution(numbers) {
let answer = 0;
for (let number of numbers) {
answer += number
console.log(answer, number)
}
return 45 - answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/12935?language=javascript
4. 문제 설명
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
제한 조건
arr은 길이 1 이상인 배열입니다.
인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
function solution(arr) {
let answer = [];
if (arr.length == 1) {
return [-1]
}else {
let min = Math.min(...arr)
arr = arr.filter(num => num !== min)
return arr
}
}
https://school.programmers.co.kr/learn/courses/30/lessons/12903?language=javascript
5. 문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항
s는 길이가 1 이상, 100이하인 스트링입니다.
function solution(s) {
let answer = '';
if (s.length % 2 == 0) {
answer = s.slice(Math.floor(s.length / 2)-1, Math.floor(s.length / 2)+1)
}else {
answer = s[Math.floor(s.length / 2)]
}
return answer;
}
새로 배운 것
- 자바스크립트에서의 배열의 인덱스로 원소를 호출하는 방법은 파이썬과 동일하다.
- slice(), 배열을 슬라이싱 할때 사용한다.
- repeat() 문자열을 반복한다. 자바스크립트에서는 문자열에 *를 이용해서 반복을 할 수 없다.
- for 반복문에서 배열의 원소들을 순회할때, for... in을 사용하면 배열의 인덱스를 순회하고 for ... of를 사용하면 배열의 값을 순회한다.
- spread연산자(...), 배열을 개별원소로 분리해서 함수에 전달한다.
- filter(),파이썬의 remove()처럼 동작한다. 사용방법은 더 복잡하긴하지만...
'코딩일기' 카테고리의 다른 글
SQL 코드카타 110 - Product Price at a Given Date (0) | 2024.07.07 |
---|---|
알고리즘 코드카타 110 - 두 큐 합 같게 만들기 (0) | 2024.07.07 |
SQL 코드카타 109 - Consecutive Numbers (0) | 2024.07.06 |
알고리즘 코드카타 109 - 연속된 부분 수열의 합 (0) | 2024.07.06 |
알고리즘 코트카타 - 21 ~ 25 (자바스크립트) (0) | 2024.07.05 |