본문 바로가기

문자열

(8)
[프로그래머스] 시저 암호 - 자바스크립트 문제 설명 문제 풀이 시저 암호의 대소문자 구문이 조금 어려웠던 문제였다. 나의 풀이는 크게 4가지 단계로 나뉘어져 있다. 1. 알파벳들을 모두 배열로 바꾼다. let lower = 'abcdefghijklmnopqrstuvwxyz' let upper = lower.toUpperCase(); let arrLower = lower.split(''); let arrUpper = upper.split(''); let arrTempIndex = []; let answer = []; 2. 받아온 문자열 s의 배열을 알파벳 배열에서 찾아 인덱스 번호로 바꿔준다. for(let i = 0; i (x + n) % arrLower.length); 4. 증가 시킨 인덱스 번호로 알파벳 배열에서 결과로 넣어준다. for(l..
[프로그래머스] 핸드폰 번호 가리기 - 자바스크립트 문제 설명 문제 풀이 function solution(phone_number) { let star = ''; let realNum = phone_number.slice(phone_number.length - 4); for(let i = 0; i
[프로그래머스] 하샤드 수 - 자바스크립트 문제 설명 문제 풀이 function solution(x) { let answer = true; let sum = 0; let strX = x.toString(); for(let i = 0; i
[프로그래머스] 제일 작은 수 제거하기 - 자바스크립트 문제 설명 문제 풀이 function solution(arr) { arr.splice(arr.indexOf(Math.min.apply(null, arr)), 1); if(arr.length === 0) { arr.push(-1) } return arr; } splice(first index, 갯수)를 이용해 arr의 최소 값 인덱스부터 하나의 요소만 제거한다. splice메서드는 원본도 훼손된다. 실행 결과 코드 채점하고 제출
[프로그래머스] 이상한 문자 만들기 - 자바스크립트 문제 설명 문제 풀이 function solution(s) { let answer = ''; let arrS = s.split(' '); for(let i = 0; i
[프로그래머스] 문자열 다루기 기본 - 자바스크립트 문제 설명 문제 풀이 function solution(s) { let answer = false; let temp = Number(s); if((s.length === 4 || s.length === 6) && temp === parseInt(s)) { return answer = true; } else return answer = false; }; 문자열s의 모든 문자가 숫자인지 아닌지를 비교하는 것에 생각을 좀 하게 되었다. 저기서 숫자로 바꾸는 메서드를 Number와 parseInt를 쓰게 되었는데 둘 중 하나로 통일 시키면 테스트가 통과되지 않는다. 실행 결과 코드 채점하고 제출
[프로그래머스] 문자열 내 p와 y의 개수 - 자바스크립트 문제 설명 문제 풀이 function solution(s) { let p = s.toLowerCase().split('p').length; // p문자열을 ''로 반환해준다. let y = s.toLowerCase().split('y').length; // y문자열을 ''로 반환해준다. return p === y ? true : false; } 위 코드는 처음 문제를 풀었을 때 작성한 코드이다. split('string')을 쓰면 원하는 string의 문자는 사라진다. 그래서 그 것의 길이를 비교하면 된다고 판단했다. 아래 코드는 위 코드를 한 줄로 코드를 만들어 보았다. function solution(s) { return s.toLowerCase().split('p').length === s.toLo..
[프로그래머스] 문자열 내 마음대로 정렬하기 - 자바스크립트 문제 설명 문제 풀이 function solution(strings, n) { return strings.sort((a, b) => a[n] === b[n] ? a.localeCompare(b) : a[n].localeCompare(b[n])); } string메서드 중 하나인 localeCompare를 array 정렬 메서드인 sort메서드에 넣어서 문제를 풀었다. localeCompare메서드는 문자열과 문자열을 비교하는데 사용된다. 아래에 예제를 하나 들어보곘다. 'a'.localeCompare('b'); // -1 'b'.localeCompare('a'); // 1 'b'.localeCompare('b'); // 0 'a'.localeCompare('a'); // 0 이런 식으로 -1, 0, 1을..