The suspect, Ketut Pujayasa, allegedly told police he attacked the woman after she insulted his family, the South Florida Sun Sentinel reported Tuesday.
The 31-year-old woman, a passenger on the Holland America Lines ship MS Nieuw Amsterdam, was found "painted in blood from head to toe" when passengers interrupted the Feb. 14 attack, prosecutors told a federal judge in Fort Lauderdale.
FBI agent David Nunez testified that Pujayasa, a room service attendant on the ship, confessed to his roommate and gave to a statement to authorities.
Pujayasa became angry after he thought he heard the woman say, "Wait a minute, son of a bitch" after he repeatedly knocked on her door as he delivered breakfast, Nunez said. He interpreted the comment as an insult to his family and sought revenge.
That night, he entered the woman's room while she was out and waited on the balcony for her to return. Pujayasa told Nunez he attacked her with items in the room, including a laptop, attempted to strangle her with a curling iron cord and then tried to throw her off the balcony into the sea.
The woman fought back, and other passengers began pounding on her door trying to help her. The noise distracted the alleged assailant and the woman was able to flee her stateroom, the newspaper said.
Pujayasa escaped to staff quarters, where he allegedly told his roommate he had "almost killed" someone.