โจทย์: กำหนด String s และ t ตรวจสอบว่า t สร้างจากตัวอักษรของ s ได้หรือไม่ (Frequency ต้องพอ)
ตัวอย่าง
s = "owhtlleh", t = "hello" → True
อัลกอริทึม
- นับ Frequency ทุกตัวอักษรใน s
- วนตัวอักษรใน t:
- ถ้า freq[t[i]] == 0 → False
- freq[t[i]] -= 1
- จบลูป → True
โค้ดตัวอย่าง
from collections import defaultdict
def solve(s, t):
freq = defaultdict(int)
for ch in s:
freq[ch] += 1
for ch in t:
if freq[ch] == 0:
return False
freq[ch] -= 1
return True
s = "owhtlleh"
t = "hello"
print(solve(s, t))
Input / Output
Input: "owhtlleh", "hello" Output: True
หมายเหตุ: ตัวอย่าง Input ในต้นฉบับมีความผิดพลาด (ใช้ "apuuppa") โค้ดข้างบนใช้ตัวอย่างที่ถูกต้อง