library(dplyr) # data frame manipulation
library(readr) # CSV file I/O, e.g. the read_csv function

# Read in data
train <- read_csv("../input/train.csv", col_types = cols_only(srch_destination_id = "i", hotel_cluster = "i"))
test <- read_csv("../input/test.csv", col_types = cols_only(id = "i", srch_destination_id = "i"))

# Get top 5 hotel clusters for each search destination
top5 <- train %>%
  count(srch_destination_id, hotel_cluster) %>%
  arrange(-n) %>%
  filter(row_number() <= 5) %>%
  ungroup()
  
# Create submission
submission <- left_join(test, top5, by = c("srch_destination_id")) %>% select(id, hotel_cluster)
submission <- submission %>% group_by(id) %>% summarise(hotel_cluster = paste(hotel_cluster,collapse=" "))

# Write ouput
write_csv(submission, "submission.csv")