input: Write a function to remove duplicate characters from a given string. The function should iterate through the string and maintain a set of seen characters, appending each character to the result only if it has not been seen before. If the input string is empty, the function should return an empty string.
  
  assert remove_duplicate_characters("bufferoverflow")=="buffrovexw"
  assert remove_duplicate_characters("abcabc")=="abc"
  assert remove_duplicate_characters("aaabbbccc")=="abc"
  assert remove_duplicate_characters("a")=="a"
  assert remove_duplicate_characters("")==""
output: def remove_duplicate_characters(s):
      seen = set()
      result = []
      for char in s:
          if char not in seen:
              seen.add(char)
              result.append(char)
      return ''.join(result)