Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- js 거리두기 확인하기
- 프로그래머스 문자열 압축
- js 문자열 압축
- 백준 1339번 js
- 사용성 개선
- 자바스크립트 문자열 압축
- suspense 병목현상
- js 스코프
- emtion app router
- emotion RSC
- 프로그래머스 거리두기 확인하기
- 구름톤
- js
- 백준 2108 자바스크립트
- 옵셔널체이닝
- app router emotion
- 구름톤 챌린지 회고
- 백준 1339번 자바스크립트
- next13 emotion
- suspense 비동기
- 리액트쿼리 suspense
- 스코프
- 구름톤 챌린지
- 백준 2108 nodejs
- 백준 1339번 nodejs
- suspense react-query
- TypeError: createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more:
- 자바스크립트 스코프
- 카카오 코테
- suspense 동작원리
Archives
- Today
- Total
Lennon FE
[프로그래머스] 3차 압축 (js) 본문
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/17684?language=javascript
function solution(msg) {
const alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
const answer = [];
for(let i = 0; i < msg.length; i++){
for(let j = msg.length; j > i; j--){
if(alpha.includes(msg.slice(i,j))){
answer.push(alpha.indexOf(msg.slice(i,j))+1);
alpha.push(msg.slice(i,j+1));
i+=(j-i-1);
}
}
}
return answer;
}
가장 긴 문자열을 찾아 answer에 인덱스를 입력한 후 alpha에 push한다.
문자열의 길이만큼 i에 (j-i-1)을 더해 alpha에 올바르게 push될 수 있도록 한다
ex) kakao -> ka, ak, kao 가 되어야함 // i+=(j-i-1)을 해주지 않으면 -> ka, ak, kao, ao, o 이렇게 들어감.
다른 사람들은 while로 풀었지만 for문 인덱스 조절로 풀어서
다른 풀이들보다 시간을 효율적으로 줄일 수 있었다.
728x90
반응형
'🔥 Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 메뉴 리뉴얼 (js) (0) | 2021.10.30 |
---|---|
[프로그래머스] 위클리 챌린지 10주차 교점에 별 만들기 (js) (0) | 2021.10.30 |
[프로그래머스] 오픈채팅방 (js) (0) | 2021.10.28 |
[프로그래머스] 방금 그곡 (js) (0) | 2021.10.28 |
[프로그래머스] (1차) 뉴스 클러스터링 (js) (0) | 2021.10.27 |
Comments