Join us on Discord!
You can help CodeWalrus stay online by donating here.

Code Golf - The Reboot #1

Started by pimathbrainiac, June 01, 2015, 12:46:43 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pimathbrainiac

Hello ladies and gents, welcome to Code Golf! As you probably noticed, I am not JWinslow23 because my name is pimathbrainiac. For those of you who don't know what Code Golf is, I'll tell you. You must write a program in any programming language and make the source as few bytes as possible. There are some rules that you must follow each week.

All programs and source files must be submitted to me via PM by midnight Sunday. Winners will be announced Sunday afternoon, and new challenges appear on Monday.
The program outputs must follow the proper formatting as stated in the week's challenge.
All of your source must be in a single source file. Using certain command-line options to compile code not in your source file is cheating.
Esolangs are okay, but the source must be text.
No drag-and-drop languages, since those can't be counted the same way.

Without further ado: This weeks challenge! (inspired by this challenge, but with a critical twist).

Challenge #1: Counting Code
Write a program that counts the number of occurrences of each unique character in your code and outputs a list of the number of occurrences of each unique character.
No extra white space, with the exception of an optional newline at the end of the program.
The characters listed must be in one of two orders. Either the order of character values in the character encoding used by your language (probably ASCII), or the order the characters appear in your source.
Your program must read its source file.

The hypothetical program {omnimaga}; should produce one of the following outputs:
; 1
a 2
g 1
i 1
m 2
n 1
o 1
{ 1
} 1

or
{ 1
o 1
m 2
n 1
i 1
a 2
g 1
} 1
; 1


Good luck, and make each character count.

Ranking
1) Levak- 36 Bytes (Bash)
2) Juju - 44 Bytes (Bash)
3) Adriweb - 53 Bytes (Bash)
4) Cumred_Snektron - 62 Bytes (Python)
4) Ikj - 62 Bytes (Python)
6) Sorunome - 73 Bytes (PHP)
7) Ivoah - 77 Bytes (Python)
8 ) DarkestEx/muessigb - 78 Bytes (PHP)
9) Juju - 84 Bytes (Ruby)
10) Juju - 86 Bytes (Python2)
11) DarkestEx/muessigb - 126 Bytes (html/JavaScript)
12) Scipi - 157 Bytes (C++)

Language Ranking
1) Bash - 36 Bytes
2) Python - 62 Bytes
3) PHP - 73 Bytes
4) Ruby - 84 Bytes
5) html/JS - 126 Bytes
6) C++ - 157 Bytes

Here we go, top three entries and top entry in the top three languages:

Levak/Bash
history 1|grep -o .|sort|uniq -c|rev

Juju/Bash
grep -o . a|sort|uniq -c|awk '{print $2,$1}'

Adriweb/Bash
sed 's/\(.\)/\1\'$'\n/g' $0|sort|uniq -c|rev|sed '1d'

Tie for Python:
Cumred_Snektron/Python
d=open("c").read()
for c in list(set(d)): print c, d.count(c)

Ikj/Python
f=open('a').read()
for i in sorted(set(f)):print(i,f.count(i))


Sorunome/PHP
<?foreach(count_chars(@file(b)[0])as$i=>$n)if($n>0)echo chr($i)." $n\n";

Congrats guys!

Now, we had someone among us who requested not to be listed as a competitor, but his code was the smallest. At 15 Bytes in Pyth, Runer112 had the smallest valid solution, but is not in the competitive group, so the standings above are it.
FNS{Ks'Gs[Nd/KN

That's it! I'll post another one later today!
Well, I'm bach here too!

Snektron

#1
Awesome! This is such a cool thing! I will be participating for sure! :D
Also how about code from system libraries?
Also what about making a custom programming language? :trollface:

also: i'm at 91 bytes already :P
EDIT: 62 now.
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Unicorn

Wait wat? No scratch? But But so much...


:trollface:
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???

JWinslow23

Ha ha! Excellent job with the challenge idea, it's sure to be interesting. This is exactly how I imagined a reincarnation of the contest. :)

And nice job with the pun, by the way. I was worried you were trying to byte off more than you could chew. At first I didn't notice the pun, I think my brain's getting number by the minute...but brilliant wordsmithing nonetheless. :P

Scipi

I've got it down to 168 bytes in C++. Don't think there's much the language will let me do to reduce it further, though. :/ Damn strict typing.
  • Calculators owned: TI-83+, Nspire, Nspire CX, Casio Prizm




DarkestEx

  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

Yuki

#6
I'm down to 116 85 bytes in Ruby now.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

pimathbrainiac

Also, please remember to PM me with your source to be added to the list. Otherwise, you don't get counted.
Well, I'm bach here too!

Dream of Omnimaga

Question, since the next Code Golf contests will be Omni-exclusive, will members of other forums be required to create an Omni account and be disallowed to post about their entry elsewhere? Because in 2011 United-TI did a joint contest with Revsoft and MaxCoderz where contestants were not allowed to cross-post their work on any forum other than United-TI, and this backfired with zero entry.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

pimathbrainiac

People will be allowed to post about their entry elsewhere and can PM me from any site for entry, but the topics for each week and the official discussion/q&a will only be on Omni so contestants at least have to check the omni subforum where I'm posting the topics on Monday at least.
Well, I'm bach here too!

Dream of Omnimaga

Aah nice to see there's a community contest sub-forum :D. I hope that since you will be busy this Summer that you will still have time to create new contests every week, though, especially considering you can usually barely even find time to do project periodical anymore >.<

Good luck! And good luck to participants too. Code Golf was one of the longest running TI community contest actually.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

alexgt

What about the name? In Ti-Basic and HP PPL the name counts towards the total bytes used :-\
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

DarkestEx

  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

Scipi

I've brought it down to 157 bytes in C/C++
  • Calculators owned: TI-83+, Nspire, Nspire CX, Casio Prizm




Dream of Omnimaga

Another issue is that on-calc TI-Z80 BASIC uses tokens, so Output( is actually 1 byte instead of 7.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Powered by EzPortal