Inspired by Digits in their lanes and 1, 2, Fizz, 4, Buzz
Introduction
Your task is to generate exactly the following output:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Challenge
This challenge is based on the Fizz Buzz challenge, and here is a recap: output the numbers from 1 to 100 inclusive, each number on its own line, but if the number is a multiple of 3, you should output "Fizz" instead of the original number, if the number is a multiple of 5, you should output "Buzz" instead of the original number. If the number is a multiple of 15, you should output "FizzBuzz" instead of the original number.
However, in addition to the requirement above, you should also indent each line using spaces to make that every column contains unique characters (excluding spaces and newlines) only. The spaces prepended to each line are the minimum required to make all the lines appeared before it (inclusive) has unique characters in each column.
For example, 1,2,Fizz,4
does not need any indentation because they already have unique characters in each column (column 1: 12F4
, column2: i
, column3: z
, column4: z
), but when adding Buzz
we need to indent by two spaces because otherwise we would have two z
's in both the 3rd and the 4th column. Since two spaces is enough to achieve the goal you should not indent it by three spaces. 7
and 8
does not need any indentation but when outputting 11
we need to indent by one space because the 1st column already has a 1
. 13
then needs to be indented by three spaces because now 1st, 2nd and 3rd column all have a 1
. Indentation for the remaining lines follow the same rule.
To make the challenge simpler, The upper limit has been changed to 50.
Specs
You can write a program or a function. Neither of them should take any non-empty input. Taking an empty input is fine.
Since this is a KC challenge you need to produce the output as specified in the Introduction section. A single trailing newline is fine. No heading newlines or extra heading spaces. No extra trailing spaces for each line.
Your program can exit with error or have non-empty STDERR output as long as STDOUT conforms to the specification.
This is intra-language code-golf, the program with lowest number of bytes wins in its language.
Default loopholes apply.