강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của damin10251829
damin10251829

câu hỏi đã được viết

Giới thiệu về giải bài toán bằng thuật toán Python (chuẩn bị cho bài kiểm tra viết mã)

9. Đảo chữ (băm từ điển)

아나그램 질문(다른 풀이)

Viết

·

280

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 
안녕하세요 강사님!
아나그램 코드와 성능 관련하여 질문이 있어 글 남깁니다.
 
s1 = input()
s2 = input()
hs = dict()

for x in s1:
    hs[x]=hs.get(x,0)+1
for x in s2:
    hs[x]=hs.get(x,0)+1

for i in hs.keys():
    if hs.get(i)%2!=0:
        print("No")
        break
else:
    print("Yes")
 
저 같은 경우에는 dictionary를 하나만 생성하여 두 문자열에서 각 알파벳(key)에 해당하는 value들을 통으로 합했습니다. 이에 따라 (만약 각 문자열에서 해당하는 알파벳의 개수가 서로 일치하면) 통으로 합하여 2로 나눈 나머지가 0이 되겠다는 아이디어에 착안하여 위와 같이 풀이했습니다.
 
프로그램은 정상적으로 작동했는데 시간 복잡도나 성능상에 있어 좋은 코드인지 아닌지가 궁금합니다.
python코테 준비 같이 해요!

Câu trả lời 2

1

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

안녕하세요^^

잘 하신 코드입니다. 성능에 문제가 없어 보입니다.

0

aacccc

ccccaa

일 때 정상 작동 하나요? YES가 나올 것 같습니다

Hình ảnh hồ sơ của damin10251829
damin10251829

câu hỏi đã được viết

Đặt câu hỏi