1. 문제
레벨0도 어려워서 정답률 85%대 문제로 난이도 하향조정했다.
https://school.programmers.co.kr/learn/courses/30/lessons/120888
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 나의 풀이
replace랑 정규식 써먹어보고 싶었는데.. 도저히 안되길래 오늘도 for문과 함께 했다..
알고리즘 특강에서 배웠던 삽입 정렬이 생각나서 그런 느낌으로 풀어봤음
function solution(my_string) {
var answer = '';
str = my_string;
max = str.length;
let result = str[0];
for (let i = 1; i < max ; i++) {
let targetStr = str[i];
let isSame = false;
for(let j = i-1; j >= 0; j-- ) {
console.log(targetStr,' vs ',str[j])
if(str[j] == targetStr) {
isSame = true;
}
}
if(isSame == false) {
result += targetStr;
}
}
answer = result;
return answer;
}
3. 다른 사람 풀이
- indexOf 이용 : indexOf가 중복된 문자열이라도 첫번째 요소만 반환되는걸 이용해서 중복되는 값 판별함
- include 이용: 새로운 변수에 반복문으로 한 글자씩 집어넣음. 이 때, include를 이용해서 이미 있는 문자면 안넣도록 함
4. 배운 점
'알고리즘, CS' 카테고리의 다른 글
[프로그래머스 Lv. 0] 모스부호 (1) (0) | 2023.06.15 |
---|---|
리액트 기초과정 CS (0) | 2023.06.14 |
[프로그래머스 Lv. 0] 삼각형의 완성조건 (2) (0) | 2023.06.14 |
[프로그래머스 Lv. 0] 구슬을 나누는 경우의 수 (0) | 2023.06.12 |
[프로그래머스 Lv. 0] 문자열 계산하기 (0) | 2023.06.09 |