[자료구조 알고리즘] 단한번만 편집된 문자열인지 알아내기

Поділитися
Вставка
  • Опубліковано 8 вер 2024

КОМЕНТАРІ • 11

  • @eunsoolee4106
    @eunsoolee4106 3 роки тому

    돌려보지는 않았지만.. 22line의 j++ 을 i-- 로 대체하면 될 듯 한데요. 강의 보면서 도움 너무 많이 받고 있습니다. 감사합니다.

  • @trustarMello
    @trustarMello 3 роки тому

    flag = true 다음 줄의, 길이비교 로직 문제있습니다.
    길이 비교 if 문을 글자비교 if 문 밖으로 빼고,(for문 안쪽)
    j++ 대신 flag=true 로 해결했습니다.
    축약하여 if (글자비교 || 길이비교) 도 가능합니다.

  • @jmeetsz4638
    @jmeetsz4638 4 роки тому

    안녕하세요! 너무 감사히 잘보고 있습니다. 왕팬입니다 :D 정말정말 무지무지 도움받고 있습니다!!!
    그런데 이번 편 내용을 여러번 검토해보았습니다.
    테스트 Case를 "pale" 와 "pas" 이렇게 다르게 해봤더니 true (한번 편집됨)가 반환 되었습니다.
    (긴문자는 1자 길고, 짧은문자쪽은 마지막 글자를 다르게 한 Case)
    제가 잘못한 것인지는 모르겠습니다만..
    혹시 가능하시다면 피드백 받고 싶습니다!
    그래서 저는 우선 임시방편으로 j++; 위에 다음 코드를 삽입해서 false를 유도했습니다..
    -------------------------
    if (i == ss.length() -1)
    return false;

    • @user-yi4by5xw7i
      @user-yi4by5xw7i 3 роки тому

      if(ss.length() != ls.length()) { j++;}
      21행부터의 위 코드는 의도를 잘 모르겠습니다.
      위 코드를 없애시고 For문 바깥에 아래와 같은 코드를 넣으세요.
      For문이 돌 때에 비교한 문자들 중 한 개만이 다르고, 동시에 입력된 두 문자열의 글자길이가 다를 경우(replace, insert 둘 다 발생)는 거짓이 되어야하므로 아래와 같은 코드를 넣어서 해결했습니다.
      if(flag && ss.length() != ls.length()) return false;

    • @user-yi4by5xw7i
      @user-yi4by5xw7i 3 роки тому

      그런데 JmeetsZ님이 제시해주신 케이스는 제 말대로 해결되지만 문자열 중간에 삽입이 있다든지 하는 경우는 해결 안된듯 합니다... 지금부터 좀 더 생각해보아야겠어요. 테스트 케이스를 제대로 준비해볼까 업무하듯이...

    • @user-yi4by5xw7i
      @user-yi4by5xw7i 3 роки тому

      (애초에 문자를 삽입하는게 문자열 마지막에 추가하는것만 생각하는거라면 해결된거지만...)

    • @user-yi4by5xw7i
      @user-yi4by5xw7i 3 роки тому

      하하 유튜버님 죄송합니다. 제가 의도를 이제야 이해했습니다.
      이해력이 떨어져서...

    • @user-yi4by5xw7i
      @user-yi4by5xw7i 3 роки тому

      JmeetsZ님의 수정대로 했을 경우, pael, pal 을 넣으면 참이 나와야하는데 거짓이 나오네요.