오늘의 주제도 배열
[Find Words Containing Character]
문제
입력과 출력
코드
class Solution:
def findWordsContaining(self, words: List[str], x: str) -> List[int]:
arr=[]
for i in range(len(words)):
if x in words[i]:
arr.append(i)
return arr
x 문자열이 words 배열의 요소에 있는 문자열들과 같은 것이 있다면 그 인덱스를 arr라는 빈 배열에 넣어준다.
사실.. 이거 제출하는 와중에.. 어? x in 으로 되나? 싶었다
왜냐면 abc와 a는 다르니까 안될거 같았다..
근데 accepted 됐네..? 모지 싶었음..
검색해보니 다들 요소1-> abc에서 이 안에서 또 a랑 같은지를 탐색하는 것 같길래 챗GPT에게 물어봤다.
당신이 작성한 코드는 주어진 문자 x가 각 단어에 포함되어 있는지를 확인하고, 포함된 단어의 인덱스를 리스트에 저장하여 반환합니다. 이 방법은 a와 abc가 다른 경우에도 올바르게 작동합니다. 왜냐하면 x가 단어의 일부분으로 포함되는지만 확인하기 때문입니다.
예를 들어, words = ["leet", "code"]와 x = "e"인 경우를 살펴봅시다.
첫 번째 단어 "leet"에는 "e"가 포함되어 있습니다. 따라서 인덱스 0을 결과 리스트에 추가합니다.
두 번째 단어 "code"에도 "e"가 포함되어 있습니다. 따라서 인덱스 1을 결과 리스트에 추가합니다.
결과적으로 반환되는 리스트는 [0, 1]이 됩니다.
이 코드는 단어 자체가 x와 동일한지 확인하는 것이 아니라, 단어에 x가 포함되어 있는지를 확인합니다. 그래서 a와 abc가 다르더라도, x가 단어의 일부로 포함되어 있다면 해당 단어의 인덱스를 반환할 수 있습니다.
아래는 설명을 덧붙인 코드입니다:
python
class Solution:
def findWordsContaining(self, words: List[str], x: str) -> List[int]:
arr = []
for i in range(len(words)):
# 단어 words[i]에 문자 x가 포함되어 있는지 확인합니다.
if x in words[i]:
# 포함되어 있다면 해당 단어의 인덱스를 결과 리스트에 추가합니다.
arr.append(i)
# 모든 단어를 확인한 후 결과 리스트를 반환합니다.
return arr
이 코드의 핵심은 if x in words[i] 구문으로, 이는 특정 문자가 단어에 포함되어 있는지를 확인하는 파이썬의 in 연산자를 사용한 것입니다. 이를 통해 a와 abc가 같은지 여부와 상관없이, 단순히 문자가 포함되어 있는지 여부만을 검사합니다.
결론은 그냥 내가 하는 방식으로 해도 있는지 확인이 되는거였다..
얻어걸렸지만.. 새롭게 간단한 풀이를 얻은느낌..?
그렇다보니 오늘은 풀이 2분 기록..ㅎ
뿌듯허다!!!!
종강후에 코딩 더해야쥐 이제 재미붙인거같댜
나도 종강줘... 과제 두개에 시험하나...만 하믄 된다이.....
화이팅....