-
알고리즘_코딩도장_비슷한 단어 찾아내기데이터 분석 공부 2020. 8. 11. 01:08
문제
아래와 같은 결과를 출력하는 function을 구현하라!
bool OneEditApart(string s1, string s2)
OneEditApart("cat", "dog") = false OneEditApart("cat", "cats") = true OneEditApart("cat", "cut") = true OneEditApart("cat", "cast") = true OneEditApart("cat", "at") = true OneEditApart("cat", "acts") = false
한개의 문자를 삽입, 제거, 변환을 했을때 s1, s2가 동일한지를 판별하는 OneEditApart 함수를 작성하시오.
출처 : http://www.careercup.com/question?id=4793416529477632
Facebook Interview Question
/** * Implement a function OneEditApart with the following signature: * bool OneEditApart(string s1, string s2) * * OneEditApart("cat", "dog") = false * OneEditApart("cat", "cats") = true * OneEditApart("cat", "cut") = true * OneEditApart("cat", "cast") =
www.careercup.com
이 문제가 예전에 "페이스북"에서 나왔던 질문이라는데, 처음에 보고 '뭐지?' 했다.
정말 실제로 이 문제를 현장에서 받았다는걸 가정하고, 빠른 시간 안에, 어떻게 해서든 나만의 논리를 가지고 풀려고 했다.
틀렸을 수도 있다. 그런데, 나는 현재 틀리는게 좋다. 틀릴수록 배울 점이 더 많고, 나 자신을 겸손히 할 수 있는 하나의 방법인 듯하다.
답변
def OneEditApart(s1, s2): # 함수 만들기 list_ = [] # 리스트 생성 for i in s1: # s1의 하나하나의 키워드를 for문으로 돌려본다. for j in s2: # s1 i번째 키워드와 s2의 j번째 키워드들을 비교해보면서 서로 동일한 경우 list_에 1을 넣는다. if i == j: list_.append(1) else: continue if len(list_) >= 2: # list_길이가 2 이상일 때, 동일한 문자열일거라는 판단 print(True) else: print(False) # 아니면 서로 글자가 다를 것이라 판단
None은 왜 나오지 모르겠다 ㅠㅠ
다시보니 논리가 억측이고 좀 별로인 듯하다. 다시 해봐야겠다....
업무에 적용할 때, 조금은 도움이 될거 같아서 선택한 문제인데, 흠... 좀 더 생각을 해봐야 겠네요.'데이터 분석 공부' 카테고리의 다른 글
Simple Linear Regression에 대한 탐구 (0) 2020.09.10 [Pythton] 간단하게 fbprophet와 yahoo finance, pandas_datareader로 주가 예측해보기!~! (0) 2020.09.01 알고리즘_코딩도장_소수의 개수 구해보기 (0) 2020.08.10 분류 학습이란? (0) 2020.08.09 <SQL> Programmers_DATETIME에서 DATE로 형 변환 (0) 2020.07.31