프로그래머스 : JavaScript 알고리즘 100일 챌린지 47일차
- 프로그래머스 : https://school.programmers.co.kr/learn/challenges/training?order=acceptance_desc
- 유트브 참고 : https://www.youtube.com/watch?v=RMmOU2u-_as&list=PLkfUwwo13dlWZxOdbvMhkzhAowaiEjuGS
코딩 기초 트레이닝 Day47
1. 0떼기 : 정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.
function solution(n_str) {
var answer = '';
return answer;
}
길라잡이
- 데이터를 수정해서 답을 구해보세요.
- 예시
n_str | result |
"0010" | "10" |
"854020" | "854020" |
답 확인하기
function solution(n_str) {
let i = parseInt(n_str);
let answer = i.toString();
return answer;
}
해설 확인하기
코드는 다음과 같은 기능을 수행하는 JavaScript 함수입니다:
n_str이라는 매개변수를 받습니다. 이는 문자열 형태의 숫자를 나타냅니다.
parseInt() 함수를 사용하여 n_str을 정수로 변환합니다. 변환된 정수를 변수 i에 저장합니다.
toString() 메서드를 사용하여 i를 다시 문자열로 변환합니다. 변환된 문자열을 변수 answer에 저장합니다.
answer를 반환합니다.
즉, 이 함수는 주어진 문자열 n_str을 정수로 변환한 다음, 다시 문자열로 변환하여 반환합니다. 예를 들어, n_str이 "123"인 경우, 함수는 정수 123을 문자열 "123"으로 변환하여 반환합니다.
2. 두 수의 합 : 0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return 하는 solution 함수를 작성해 주세요.
function solution(a, b) {
var answer = '';
return answer;
}
길라잡이
- 데이터를 수정해서 답을 구해보세요.
- 예시
a | b | result |
"582" | "734" | "1316" |
"18446744073709551615" | "287346502836570928366" | "305793246910280479981" |
"0" | "0" | "0" |
답 확인하기
function solution(a, b) {
let sum = BigInt(a) + BigInt(b);
return sum.toString();
}
// BigInt = 원시 값이 안정적으로 나타낼 수 있는 최대치인 2^53 - 1보다 큰 정수를 표현할 수 있는 내장 객체입니다.
해설 확인하기
함수는 다음과 같은 기능을 수행합니다.
함수는 두 개의 매개변수 a와 b를 받습니다. 이 두 매개변수는 문자열 형태의 숫자를 나타냅니다.
BigInt() 함수를 사용하여 문자열 형태의 a와 b를 BigInt 형태로 변환합니다. BigInt는 JavaScript에서 매우 큰 정수를 표현하기 위한 내장 객체입니다.
BigInt(a) + BigInt(b)를 통해 a와 b를 더한 결과를 구합니다.
toString() 메서드를 사용하여 BigInt 형태의 합을 다시 문자열로 변환합니다.
변환된 문자열을 반환합니다.
따라서, 이 함수는 주어진 두 개의 문자열 숫자 a와 b를 더한 결과를 문자열로 반환합니다. BigInt를 사용하여 정확한 계산 결과를 얻을 수 있으며, 반환되는 값은 항상 문자열 형태입니다.
3. 문자열로 변환 : 정수 n이 주어질 때, n을 문자열로 변환하여 return하도록 solution 함수를 완성해주세요.
function solution(n) {
var answer = '';
return answer;
}
길라잡이
- 데이터를 수정해서 답을 구해보세요.
- 예시
n | result |
123 | "123" |
"2573" | "2573" |
답 확인하기
function solution(n) {
return String(n);
}
해설 확인하기
함수는 다음과 같은 기능을 수행합니다:
함수는 하나의 매개변수 n을 받습니다. 이 매개변수는 어떤 값이든 될 수 있습니다.
String() 함수를 사용하여 매개변수 n을 문자열로 변환합니다.
변환된 문자열을 반환합니다.
즉, 이 함수는 입력받은 값을 문자열로 변환하여 반환하는 간단한 기능을 수행합니다. 매개변수 n이 숫자, 객체, 배열 또는 다른 타입의 값이더라도 모두 문자열로 변환하여 반환됩니다.
4. 배열의 원소 삭제하기 : 정수 배열 arr과 delete_list가 있습니다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요.
function solution(arr, delete_list) {
var answer = [];
return answer;
}
길라잡이
- 데이터를 수정해서 답을 구해보세요.
- 예시
arr | deletr_list | result |
[293, 1000, 395, 678, 94] | [94, 777, 104, 1000, 1, 12] | [293, 395, 678] |
[110, 66, 439, 785, 1] | [377, 823, 119, 43] | [110, 66, 439, 785, 1] |
답 확인하기
function solution(arr, delete_list) {
var answer = [];
let setA=new Set(arr)
let setB=new Set(delete_list)
Set.prototype.difference = function (set) {
return new Set([...this].filter(v => !set.has(v)));
};
return Array.from(setA.difference(setB));
}
// new Set : 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다.
해설 확인하기
함수는 다음과 같은 기능을 수행합니다:
함수는 두 개의 매개변수 arr과 delete_list를 받습니다. arr은 배열 형태의 데이터를 나타내고, delete_list는 삭제할 요소들의 배열입니다.
arr을 Set 객체로 변환하여 setA 변수에 저장합니다. Set 객체는 중복되지 않는 유일한 요소들의 집합입니다.
delete_list도 Set 객체로 변환하여 setB 변수에 저장합니다.
Set.prototype.difference 함수를 정의합니다. 이 함수는 현재 Set 객체와 다른 Set 객체의 차집합을 반환하는 역할을 합니다. this는 현재 Set 객체를 나타내고, set은 다른 Set 객체를 나타냅니다
. setA와 setB의 차집합을 구한 후, 그 결과를 배열로 변환하여 반환합니다. Array.from() 메서드를 사용하여 Set 객체를 배열로 변환합니다.
즉, 이 함수는 arr에서 delete_list에 해당하는 요소들을 제외한 나머지 요소들로 이루어진 배열을 반환합니다. 중복된 요소가 제거되며, 순서는 유지됩니다.
5. 부분 문자열인지 확인하기 : 부분 문자열이란 문자열에서 연속된 일부분에 해당하는 문자열을 의미합니다. 예를 들어, 문자열 "ana", "ban", "anana", "banana", "n"는 모두 문자열 "banana"의 부분 문자열이지만, "aaa", "bnana", "wxyz"는 모두 "banana"의 부분 문자열이 아닙니다. 문자열 my_string과 target이 매개변수로 주어질 때, target이 문자열 my_string의 부분 문자열이라면 1을, 아니라면 0을 return 하는 solution 함수를 작성해 주세요.
function solution(my_string, target) {
var answer = 0;
return answer;
}
길라잡이
- 데이터를 수정해서 답을 구해보세요.
- 예시
my_string | target | result |
"banana" | "ana" | 1 |
"banana" | "wxyz" | 0 |
답 확인하기
function solution(num_str) {
return parseInt(num_str);
}
해설 확인하기
함수는 다음과 같은 기능을 수행합니다:
함수는 두 개의 매개변수 my_string과 target을 받습니다. my_string은 문자열이고, target은 탐색할 문자열입니다.
my_string.includes(target)을 사용하여 my_string에 target이 포함되어 있는지 여부를 확인합니다. includes() 함수는 문자열이 특정 문자열을 포함하고 있는지 여부를 불리언 값으로 반환합니다.
Number() 함수를 사용하여 my_string.includes(target)의 불리언 값을 0 또는 1로 변환합니다. true인 경우 1로, false인 경우 0으로 변환됩니다.
변환된 숫자를 반환합니다.
즉, 이 함수는 my_string에 target이 포함되어 있는지 여부를 확인하고, 포함되어 있다면 1을 반환하고 그렇지 않으면 0을 반환합니다.