1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/120894?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 나의 풀이
레벨0 뭔데 어렵냐?????????
나는 for 반복문 돌렸다.
그런데 생각해보니 wordToNum 부분 필요없이 i 인덱스 값으로 대체 가능할 듯
function solution(numbers) {
var answer = 0;
let targetNumbers = numbers;
let numWords = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
let wordToNum = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
numWords.forEach(function (num, i) {
let targetIndex = targetNumbers.indexOf(num);
let numLength = num.length;
console.log('num => ', num);
let splitNum = targetNumbers.split(num);
let joinNum = '';
for (let j = 0; j < splitNum.length; j++) {
if (j !== splitNum.length - 1) {
joinNum += splitNum[j] + wordToNum[i];
} else {
joinNum += splitNum[j];
}
console.log(joinNum);
}
targetNumbers = joinNum;
console.log('======================================');
});
answer = Number(targetNumbers);
return answer;
}
3. 다른 사람 풀이
.replace메소드 사용
https://school.programmers.co.kr/learn/courses/30/lessons/120894/solution_groups?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
4. 배운 점
1. 배열 메소드 5가지
const str = 'Hello, world!';
const arr = [0, 1, 2, 3, 4, 5];
const arr2 = [0, 1, 2, 3, 4, 5];
// 1. substr(시작 인덱스, 길이)
str.substr(1, 3); // ell
str.substr(3); // lo, world!
// 2. substring(시작 인덱스, 끝 인덱스)
str.substring(1, 3); // el
str.substring(3); // lo, world!
// 3. slice(시작 인덱스, 끝 인덱스)
str.slice(1, 3); // el
str.slice(3); // lo, world!
arr.slice(1, 3); // [1, 2] => arr는 그대로 [0, 1, 2, 3, 4, 5]
arr.slice(3); // [3, 4, 5] => arr는 그대로 [0, 1, 2, 3, 4, 5]
// 4. splice(시작 인덱스, 길이)
arr.splice(1, 3); // [1, 2, 3] => arr는 결과값을 제외한 [0, 4, 5]
arr2.splice(3); // [3, 4, 5] => arr는 결과값을 제외한 [0, 1, 2]
// 5. split(구분자, 잘라진 문자열의 최대 갯수)
str.split(','); // ["Hello", " world!"]
str.split(',', 1); // ["Hello"]
https://ddoni-code.tistory.com/10
[javascript] 문자열 자르기 substr / substring / slice / splice / split
javascript에서 문자열, 배열을 자르는 메소드로는 substr / substring / slice / splice / split 다섯가지가 있다. 1. substr : 시작 인덱스와 길이(생략 가능)를 정해서 문자열 자르기 2. substring : 시작 인덱스와
ddoni-code.tistory.com
2. replace 메소드로 문자열 치환하기
https://deeplify.dev/front-end/js/replace-and-replace-all
[Js/자바스크립트] 문자열 치환(변환, 대치, 바꾸기): replace, replaceAll
Javascript의 replace 함수를 이용하여 문자열 내부의 특정 문자 또는 문자열을 변하는 방법에 대해서 소개합니다.
deeplify.dev
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/replace
String.prototype.replace() - JavaScript | MDN
replace() 메서드는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환합니다. 그 패턴은 문자열이나 정규식(RegExp)이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치에
developer.mozilla.org
정규표현식 (regex)
정규 표현식 정규표현식(regular expression)은 일종의 문자를 표현하는 공식으로, 특정 규칙이 있는 문자열 집합을 추출할 때 자주 사용되는 기법입니다. 주로 Prograaming Language나 Text Editor…
sooftware.io
'알고리즘, CS' 카테고리의 다른 글
[프로그래머스 Lv. 0] 문자열 계산하기 (0) | 2023.06.09 |
---|---|
[프로그래머스 Lv. 0] 잘라서 배열로 저장하기 (0) | 2023.06.08 |
알고리즘 특강 - 4. 버블 정렬, 선택 정렬, 삽입 정렬 (1) | 2023.06.07 |
알고리즘 특강 - 3. 스택, 큐 (0) | 2023.06.07 |
알고리즘 특강 - 2. 링크드리스트 (1) | 2023.06.07 |