The woman, 31, was attacked while she slept aboard the MS Nieuw Amsterdam off the coast of Honduras on Valentine's Day.
The nudist cruise had left Port Everglades five days earlier.
The woman told authorities she lost consciousness at least once during the assault.
She was so severely injured that she was flown by air ambulance to a South Florida hospital.
Pujayasa confessed to attacking the woman, saying he believed she insulted his mother when she called him a "son of a bitch" after he knocked on her door to deliver breakfast.
He said he knocked three times and heard her say: "Wait a minute, son of a bitch!" He took offence, he said, and fumed all day long.
He later returned and let himself into the woman's room using his company-issued master key and waited for her.
Pujayasa said he approached the woman while she slept, grabbed her by the neck and punched her twice in the face, federal prosecutor Francis Viamontes said.
He struck her with a laptop and a curling iron, tried to silence her screams by strangling her with telephone and curling iron cords and stripped off her shorts, Viamontes said.
"He then removed his pants in an attempt to have forcible sex with (the victim) to punish her for the disrespectful comment made earlier," Viamontes said.
Pujayasa said little at Monday's hearing.
"If this case were to go to trial, do you believe they could prove what they just said?" US District Judge Jose Martinez asked. "Yes," Pujayasa said.
Martinez followed up: "Is it true?" "Yes," Pujayasa again said.
Pujayasa was arrested when the ship returned to Fort Lauderdale.
- AAP