본문 바로가기
자기개발/TIL

두 개의 string을 합칠때

by 금화맘 2023. 6. 5.

코테 후기에서 벗어나지 못했다. 그래서 뒤늦게나마 열심히 뒤져봤다.

문제를 이제 생각해 보니 string 2개가 주어졌을 때 해야할 일이 내가 잘 못생각했었다.

나는 먼저 1. 배열로 만든 다음에 2.중복된 걸 찾고 3.중복된걸 빼고 붙이고 4.문자열 짧은거 찾고 5. 길이수가 같으면 사전순으로 만든다 

가 내 로직이었다. 여기서 잘못된 점을 먼저 찾는다면 중복된거 찾는 것과 중복된걸 빼고 붙이는데 앞 뒤로 붙이는 걸 한번에 하려 했다느 점이다. 생각해 보니 난 앞뒤로 붙이는 걸 한번에 할 능력이 없었다. 그리고 이미 중복된걸 제거하고 배열을 만들어 주는 set이 있는데 왜 그랬을 까.

괜히 include랑 filter를 해서 찾는다고 시간도 걸렸고 reduce를 해서 한방에 붙이겠다는 생각을 한게 시간잡아먹는데 1등이었다.는 사실 내장함수를 아는데 내장함수 사용법을 까먹어서 문제였던... 프로그래머스에서는 js안내?가 있는데 여기서도 set을 봤으면서 그냥 예제를 따로 배열로 만드는 거에 골몰했지 첨부터 합쳐서 배열을 만들고 작업하려곤 생각을 안했다. 합치는 concat도 나중에 쓰려고 했지.. 

 

그래서 배열을 합치는 걸 잘 설명해주신 분들이 계셔서 그걸 가지고 와 봤다.

https://velog.io/@dolarge/Java-Script-Set-%EA%B3%BC-Map

 

[JavaScript] 37. Set 과 Map

set 객체는 중복되지 않는 유일한 값들의 집합이다. set 객체는 다음과 같은 특징을 가진다. 1\. 동일한 값을 중복하여 포함할수 없다요소 순서에 의미가 없다인덱스로 요소에 접근할 수 없다.이러

velog.io

이분은 set과 map을 되게 세세하게 설명해 주셨다.

https://jsikim1.tistory.com/227

 

JavaScript 배열 중복 제거하는 방법 5가지

JavaScript 배열 중복 제거하는 방법 5가지 JavaScript 의 배열에서 중복을 제거하는 5가지 방법을 알려드리도록 하겠습니다. 목차 set() 사용하여 배열에서 중복 제거하는 방법 filter(), indexOf() 사용하여

jsikim1.tistory.com

그리고 이분은 정말 배열을 만들때 중복을 제거하고 만들때 사용할 수 있는 방법을 자세히 알려주셨다.

전에 프로그래머스에서 연습문제 푼다고 열심히 정독한 블로그들인데.. 왜 이때 사용했던게 기억이 안났을까... 아쉽다.

 

이 분들의 글을 종합하면 2개의 string을 1개의 배로 합칠 수 있다.

이것의 결과는

... 안쓰고 그냥 new set만 사용할 수 있었다.

결과는

숫자가 같은 것을 알수 있었다. Set(6)에서 괄호 안에 있는게 갯수인듯.

좋은 발견이었다 훗.

인제 갯수가 같다면 sort로 사전순인걸 찾아서 한개로 합치는 작업을 하면 되겠다.

 

https://www.zerocho.com/category/JavaScript/post/5acafb05f24445001b8d796d

 

(JavaScript) map, reduce 활용하기 - 함수형 프로그래밍

안녕하세요. 이번 시간에는 map과 reduce 메서드에 대해 알아보겠습니다. 배열에 있는 바로 그 map과 reduce 맞습니다. 많은 분들이 forEach는 사용하시는데 map과 reduce는 잘 안 쓰시더라고요. 그리고 redu

www.zerocho.com

하다보니 map고 reduce를 활용을 잘 설명해 주는 분의 글도 봤다. 확실히 내가 map과 reduce를 잘 모르는게 맞더라. 제로초님 역시 유명하시던데 유명한 이유가 있었다.

reduce를 쓸때는 배열.reduce((누적값,현재값,인덱스,요)=>{return 결과},초기값);

map을 쓸때는 배열.map((요소, 인덱스,배열)=> {return 요소});

잊지말자.