Toy Problem — commonCharacters

Benomad Will
Jan 14 · 2 min read

중복되는 문자만 남기기


주어진 문자열을 비교해서 중복되는 문자만

'문자'로 리턴하는 문제입니다

예를 들어서 ‘acexivou’, ‘aegihobu’ 가 있다면

‘aeiou’ 이 리턴되는 것입니다

생각보다 쉬워보이는 문제였습니다

분석

  1. 두 문자타입의 input에 대해서 중복된 글자를 리턴한다
  2. 배열을 리턴해서는 안된다, 문자를 리턴해야한다
  3. includes 메소드를 사용하자
  4. 중복이 필요없으니까 하나의 문자길이만큼 반복을 하면 될 것 같다

수도코드 작성

  1. 빈 문자열 생성
  2. includes 를 이용해 반복한다
  3. 중복되는 값 && 결과값에는 없는 문자만 빈 문자열에 넣어준다

바로 코드로 보겠습니다

생각보다 쉽게 풀리겠다 싶었는데

11개의 테스트중 10개만 통과했습니다

마지막 테스트를 보니

input 값으로 여러 개가 들어올 경우에 대해 다루라는 것이었습니다

예를 들어

input값으로 ‘qwerty’, ‘wertyu’, ‘ertyui’, ‘rtyui’, ‘tyuiop’, ‘yuiopa’ 가 들어오면

'y’ 를 리턴해야 하는 것입니다

분석

어떻게 해야 할까 하다가

어제 풀었던 BubbleSort가 생각났습니다

1번과 2번을 비교하고 1번과 3번을 비교하고 1번과 4번 ...

이런식으로 하면 될 것 같아서 코드를 짰습니다

오답입니다

반복을 잘 못 돌고 있어서 엉뚱한 값이 계속 남게 됩니다

아직까지 3개 이상의 파라미터가 존재할 경우의 해결방법을 찾지 못했습니다

주말에 다시 풀어보겠습니다


주말입니다

다시 풀어보려고 했으나...

서칭을 했습니다

Solution

제가 생각했던 풀이와 비슷한데

디테일이 다릅니다

아직 저의 실력이 부족함을 뜻하는 것이겠네요..!

  1. 빈 배열과, 빈 문자열을 생성해주고 시작했습니다
  2. 테스트케이스의 기본적인 조건들을 만족시켜주었습니다
  3. string1의 길이만큼, string2의 길이만큼 두번의 반복을 주었습니다
    제가 막연히 두번 돌면 충분하겠는데? 보다는 구체적입니다
    3개의 문자열이 들어왔다면 3번의 반복을 진행하겠죠?
  4. 두 개의 문자열을 비교해서 같을 경우 && 결과에 없을 경우! 로 하는 반복의 개념은 같습니다
  5. 하지만 빈 배열에 넣어주고 나중에 join 처리해주는 디테일의 차이가 있습니다

아직 많이 부족하군요!

여기까집니다

그럼 이만!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade