일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- algorithmTest
- C
- 자바
- 채권
- 책을알려주는남자
- 책알남
- 알고리즘트레이닝
- 알고리즘 공부
- 다독
- Java
- 주식
- C++
- 지혜를가진흑곰
- 재테크
- 프로그래밍언어
- 독서
- 투자
- 백준알고리즘
- 서평
- 성분
- 돈
- algorithmStudy
- algorithmtraining
- 경제
- 자바스크립트
- 독후감
- 알고리즘공부
- 화장품
- JavaScript
- 프로그래머스 알고리즘 공부
Archives
- Today
- Total
탁월함은 어떻게 나오는가?
[Algorithm] 프로그래머스 가장 가까운 같은 글자 (JavaScript - Programmers) 본문
[Snow-ball]프로그래밍(컴퓨터)/Algorithm Training
[Algorithm] 프로그래머스 가장 가까운 같은 글자 (JavaScript - Programmers)
Snow-ball 2022. 12. 12. 22:17반응형
문제 설명
문자열 s 가 주어졌을 때, s 의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다.
예를 들어, s = "banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다.
- b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.
- a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.
- n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.
- a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다.
- n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다.
- a는 자신보다 두 칸, 네 칸 앞에 a가 있습니다. 이 중 가까운 것은 두 칸 앞이고, 이는 2로 표현합니다
따라서 최종 결과물은 [-1, -1, -1, 2, 2, 2]가 됩니다.
문자열 s 이 주어질 때, 위와 같이 정의된 연산을 수행하는 함수 solution을 완성해주세요.
제한사항
* 1 <= s 의 길이 <= 10,000
s 은 영어 소문자로만 이루어져 있습니다.
문제 풀이
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
|
function solution(s) {
let answer = [];
const arr = [...s]
for (let i = 0; i < arr.length; ++i) {
if(i === 0) {
answer[0] = -1
} else {
let count = 1;
for (let j = i - 1;j >= 0; --j) {
if (arr[i] === arr[j]) {
answer[i] = count;
count = 1;
break;
} else {
answer[i] = -1;
}
count++;
}
}
}
return answer;
}
|
cs |
반응형
'[Snow-ball]프로그래밍(컴퓨터) > Algorithm Training' 카테고리의 다른 글
[Algorithm] 과일 장수 (JavaScript - Programmers) (0) | 2022.12.25 |
---|---|
[Algorithm] 프로그래머스 삼총사 (JavaScript - Programmers) (0) | 2022.12.16 |
[Algorithm] 프로그래머스 기사단원의 무기 (JavaScript - Programmers) (0) | 2022.11.25 |
[Algorithm] 프로그래머스 콜라 문제 (JavaScript) (0) | 2022.11.23 |
[Algorithm] 프로그래머스 옹알이 (Javascript) (0) | 2022.11.09 |
Comments