Lv.0 한번만 등장한 문자

송민혁·2023년 3월 30일

Coding Test

목록 보기
6/15

문제

분석

문자열에서 1회만 등장한 문자를 배열에 담고 사전순으로 정렬한 문자열로 반환하면 됩니다.

  • 문자열에서 배열로 변환 => spread 연산자
  • 1회만 등장한 것만 추출 => filter() + 적절한 함수
  • 사전순으로 정렬 => sort()
  • 배열에서 다시 문자열로 변환 => join()

코드 구현


에러다...! 내가 봤을 때 1회만 등장하는 문자를 추출하는 콜백함수가 잘못된 것 같다.
그렇다면 중복을 찾는 방법이 어떤 게 있을까 찾아봐야겠다.

이 방법 역시 에러가 뜬다. 두 방법 모두 중복을 제거하는 방법은 맞지만, '1회'만 나온 것만 추출해야 하는 점을 간과해서 생긴 에러이다.

찾아보니 유일성을 찾기 위해서는 indexOf()lastIndexOf()가 같다면 유일성을 증명하는 방법이다.

중복을 제거하는 방법

  • set()을 사용하여 배열에서 중복 제거하는 방법
  • filter() or indexOf() 사용하여 배열에서 중복 제거하는 방법

set()

const array = ['C', 'A', 'B', 'A', 'C', 'D', 'C', 'C', 'E', 'D'];

let result1 = [...new Set(array)];
console.log(result1);	// ['C', 'A', 'B', 'D', 'E']

let result2 = Array.from(new Set(array));
console.log(result2);	// ['C', 'A', 'B', 'D', 'E']

모범 답안

확실히 문자를 검색하거나 치환하기에는 정규표현식이 간결성이 훨씬 뛰어나다.
언제 공부해야 하나...싶다.

잘한 점과 부족한 점

이제 어느 정도 분석 단계에서 익숙하고 컴퓨팅 사고력이 늘고 있다는 게 느껴진다.
하지만 아직 내가 모르는 문법이나 익숙하지 않은 상황에 대비하는 데에 있어서 어려움을 느낀다. 그치만 하나씩 채워가면 실력이 늘 것 같다.

0개의 댓글