Golden Sun Hacking Community
February 16, 2019, 10:14:58 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
  Home   Forum   DC Wiki Help Search Calendar Downloads Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Advent of Code  (Read 1040 times)
0 Members and 1 Guest are viewing this topic.
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 0
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2433

« on: December 03, 2016, 03:36:40 PM »

So thanks to Luna_blade, we know this started recently... anyone else interested.... ? http://adventofcode.com

Spoiler for My answer (in Python code) to the first part of the Day 1 problem (So don't look until you solve. But the main point is to show that it's short.):
myInput = "R4, R3, L3, L2, L1, R1, L1, R2, R3, L5, L5, R4, L4, R2, R4, L3, R3, L3, R3, R4, R2, L1, R2, L3, L2, L1, R3, R5, L1, L4, R2, L4, R3, R1, R2, L5, R2, L189, R5, L5, R52, R3, L1, R4, R5, R1, R4, L1, L3, R2, L2, L3, R4, R3, L2, L5, R4, R5, L2, R2, L1, L3, R3, L4, R4, R5, L1, L1, R3, L5, L2, R76, R2, R2, L1, L3, R189, L3, L4, L1, L3, R5, R4, L1, R1, L1, L1, R2, L4, R2, L5, L5, L5, R2, L4, L5, R4, R4, R5, L5, R3, L1, L3, L1, L1, L3, L4, R5, L3, R5, R3, R3, L5, L5, R3, R4, L3, R3, R1, R3, R2, R2, L1, R1, L3, L3, L3, L1, R2, L1, R4, R4, L1, L1, R3, R3, R4, R1, L5, L2, R2, R3, R2, L3, R4, L5, R1, R4, R5, R4, L4, R1, L3, R1, R3, L2, L3, R1, L2, R3, L3, L1, L3, R4, L4, L5, R3, R5, R4, R1, L2, R3, R5, L5, L4, L1, L1"

c = [ 0,  0,  0,  0]
d = 0 #Direction facing
for b in myInput.split(", "):
    d += {"L": 1, "R": -1}[b[0]]
    c[d&3] += int(b[1:])

print c #c[0], c[1], c[2], c[3]
print c[0] - c[2] + c[1] - c[3] #Remove the sign.

#Extra:
print d #Difference between L and R turns.

Edit: Replaced if block with dictionary check, and swapped regex with the more simplified.
« Last Edit: December 04, 2016, 09:07:35 PM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile
Luna_blade
The last member of the Luna clan
Luna Clan

Great Member
*

Coins: 0
Offline Offline

I am: Timeless. As in, i don't have much free time.
Posts: 543

« Reply #1 on: December 04, 2016, 12:33:10 PM »

Do you write super short Python, or is it naturely this short?
Logged

"Hear the sounds and melodies
Of rilets flowing down
They're the verlasting songs
Whispering all the time
As a warning that behind some rocks
There's a rigid grap even
Oreads fear the tread"
View Profile
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 0
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2433

« Reply #2 on: December 04, 2016, 04:49:25 PM »

Um? Both? Well, it depends on the coder... ( For example, someone who divides things up might code like https://github.com/jldork/Advent_04/blob/master/room.py , but that's a spoiler for today's AOC. ... And yeah, I looked on reddit to see what everyone's talking about. :) )

Someone else also tried Day 1, and their code was a bit longer than mine... They had written out if blocks for the caps, where-as I just &3.

My Part 2 for the Day 1 challenge was a bit longer than Part 1 as well... I didn't look into much optimizations.

Spoiler for Hidden:
import re
a = "R4, R3, L3, L2, L1, R1, L1, R2, R3, L5, L5, R4, L4, R2, R4, L3, R3, L3, R3, R4, R2, L1, R2, L3, L2, L1, R3, R5, L1, L4, R2, L4, R3, R1, R2, L5, R2, L189, R5, L5, R52, R3, L1, R4, R5, R1, R4, L1, L3, R2, L2, L3, R4, R3, L2, L5, R4, R5, L2, R2, L1, L3, R3, L4, R4, R5, L1, L1, R3, L5, L2, R76, R2, R2, L1, L3, R189, L3, L4, L1, L3, R5, R4, L1, R1, L1, L1, R2, L4, R2, L5, L5, L5, R2, L4, L5, R4, R4, R5, L5, R3, L1, L3, L1, L1, L3, L4, R5, L3, R5, R3, R3, L5, L5, R3, R4, L3, R3, R1, R3, R2, R2, L1, R1, L3, L3, L3, L1, R2, L1, R4, R4, L1, L1, R3, R3, R4, R1, L5, L2, R2, R3, R2, L3, R4, L5, R1, R4, R5, R4, L4, R1, L3, R1, R3, L2, L3, R1, L2, R3, L3, L1, L3, R4, L4, L5, R3, R5, R4, R1, L2, R3, R5, L5, L4, L1, L1"
wordList = re.sub("[^\w]", " ",  a).split()

#Part 2
d = 0
mxy =
  • * 1000000 #Random-ish number. But array-size.
x = 0
y = 0
for b in wordList:
    if b[0] == 'R':
        d -= 1
    if b[0] == 'L':
        d += 1
    d = d & 3
    i = int(b[1:])
    while i > 0:
        if mxy[y*1000+x] == 1:
            print x, y
            break
        mxy[y*1000+x] = 1
        if d == 0:
            y += 1
        elif d == 1:
            x += 1
        elif d == 2:
            y -= 1
        elif d == 3:
            x -= 1
        i -= 1
I think the forum BBCode stuff is messing up something. :/ Don't mess with my
  • , forum!

I don't know all the Python tricks yet, but it is possible it could be even shorter than that.
Like the L and R checks:
- Not sure if Python has a ? : operator.
- Could probably use a dictionary type.
« Last Edit: December 04, 2016, 05:12:45 PM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile
Pages: [1]   Go Up
  Print  
 
Jump to:  

Cbox
January 20, 2019, 06:29:27 PM
Fox: That would be cool to have, yes. Where the text in the ROM is uncompressed. - The huffman compression used in the gba games is not used in the nds game, so perhaps that may be one reason it wasn't done. I think it is some generic compression thingy. If someone did do it (and make the entire ROM uncompressed), perhaps I would be more inclined to work on my dark dawn editor. Hm?
January 15, 2019, 05:38:01 PM
KyleRunner: Could someone please create a GSTOOLKIT compatible with Dark Dawn? I'll try to translate that one to my language as well (as I did with the first two games).
January 09, 2019, 02:39:00 PM
Luna_blade: I wonder when true death will strike
January 08, 2019, 03:00:02 PM
Misery: That is true
January 07, 2019, 06:08:38 PM
JamietheFlameUser: so this place is pretty inactive
December 17, 2018, 06:43:36 AM
Salanewt: Okay, minor announcement I guess. We just looked over some pre-release footage of GS1, and noticed that one of the unused and unlisted animations we discovered in GS2 (and GS1) plays in that footage. "Brine" is actually an early Fizz.
December 15, 2018, 01:06:23 AM
Fox: :D https://www.youtube.com/watch?v=MFmr_TZLpS0
December 15, 2018, 12:58:01 AM
Fox: A banana for you, a banana for me, a banana to your face. Your face is mine! A face for you, a face for me. A face for the banana too. Who wants to feed the banana?
December 09, 2018, 07:43:31 PM
Fox: A banana for you, a banana for me, let's all open a banana and enjoy!
December 08, 2018, 09:48:52 PM
Drake baku: ba... ba.... bana.... bana.... banana.... nanananananananana..... and now back to doing normal, kinda
December 07, 2018, 05:43:02 PM
Luna_blade: Hey I forgot the christmas theme
November 29, 2018, 09:01:09 AM
zman9000: ded
November 19, 2018, 11:05:28 AM
Drake baku: Good day to ya all
October 30, 2018, 09:45:58 PM
Atrius: There used to be where I got the battle sprites for Kraden, but that site doesn't exist any more.
October 26, 2018, 01:31:40 PM
Infitek: Do you know if there any custom Alex battle sprites available on the internet ?
October 26, 2018, 01:31:01 PM
Infitek: Hey everyone
October 13, 2018, 03:23:06 AM
Salanewt: Updated it to provide more info that I forgot to mention.
October 13, 2018, 03:16:48 AM
Salanewt: I'm still trying to iron out IQ 2 but I'm pretty sure it's entirely random targeting.
October 13, 2018, 03:16:29 AM
Salanewt: Oh yeah, I posted some more info about enemy IQ.
October 12, 2018, 09:51:27 PM
FoxThe HTML5 project is too small to count

Affiliates
Temple of Kraden Golden Sunrise
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.433 seconds with 22 queries.