Hacker Rank Solutions: Missing Numbers
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
| list_1_length = $stdin.gets.to_i
list1 = $stdin.gets.chomp.split(' ')
list_2_length = $stdin.gets.to_i
list2 = $stdin.gets.chomp.split(' ')
list1hash = {}
list2hash = {}
times = list_1_length > list_2_length ? list_1_length : list_2_length
times.times do |i|
if list1[i] != nil
n = list1[i]
if list1hash[n] == nil
list1hash[n] = 1
else
list1hash[n] += 1
end
end
if list2[i] != nil
n = list2[i]
if list2hash[n] == nil
list2hash[n] = 1
else
list2hash[n] += 1
end
end
end
if list1hash.length > list2hash.length
biggest = list1hash
smallest = list2hash
else
smallest = list1hash
biggest = list2hash
end
arr = []
biggest.each do |k, v|
arr << k.to_i if smallest[k] != v
end
puts arr.sort.join(' ')
|