Advent of Code
Golden Sun Hacking Community
August 17, 2018, 12:54:36 PM *
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 838 times)
0 Members and 1 Guest are viewing this topic.
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 28
Offline Offline

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

« 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: 535

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

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

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
View Profile
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 28
Offline Offline

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

« 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
August 02, 2018, 07:42:12 PM
Caledor: patch for TLA uploaded again cause i forgot to update descriptions for 3 shields
August 02, 2018, 01:16:14 AM
Caledor: Don't want to triple post so I'll just announce here that v1.71 is out. I updated my last post.
July 29, 2018, 12:18:00 PM
KyleRunner: Let me see...
July 28, 2018, 08:12:34 PM
Fox: What value do you see at 08000468? (Or 00000468 in hex editor)  0801319D or 08F9EE50?
July 28, 2018, 07:11:11 PM
KyleRunner: "there is an easy fix by changing a pointer back to what it was suppose to be"... Hmmm... How?
July 27, 2018, 10:11:06 AM
Fox: Bootleg*
July 27, 2018, 10:09:03 AM
Fox: There are two ROMs that can be found on the internet, one may have the MEGAROMs boot load stuff. (So not truely clean.) ... If you get a screen while booting the game and holding L+R (I think it was?), then you know you have it, and your ROM is not truely "clean"... it is unfortunate, but there is an easy fix by changing a pointer back to what it was suppose to be..
July 27, 2018, 05:10:13 AM
MaxiPower: Hello World
July 25, 2018, 11:09:23 PM
KyleRunner: Well... here's The problem that needs solving: my GSTLA translation patch only works on a clean rom, with specific CRC. 
July 25, 2018, 07:59:37 PM
Fox: I am not sure I understand? If there was such a program to "clean" a dirty ROM dump, what exactly would it do?
July 25, 2018, 12:37:42 PM
KyleRunner: Hello, guys. Could someone teach me how to "clean" a dirty Golden Sun rom dump? Is there a program or something?
July 25, 2018, 01:37:40 AM
Atrius: @Fox, yeah... I was expecting it to take 2 weeks at most...
July 25, 2018, 12:03:01 AM
Majora: Yes, I believe so. Think they were made public a while ago prior to the site issue
July 24, 2018, 08:26:45 PM
Luna_blade: is it normal that I can see all clans?
July 24, 2018, 08:25:41 PM
Luna_blade: Nice to see it is back!
July 23, 2018, 11:01:36 PM
Fox: Yes. I was expecting it to be a little while longer, but it is great to see that Atrius delivered.
July 23, 2018, 02:30:46 AM
Majora: Thank you for getting the site back online!
July 21, 2018, 09:19:06 PM
Salanewt: Time to upload that "EXP gain when KO'd" patch I made a month ago.
July 21, 2018, 09:18:48 PM
Salanewt: Oh hey, the site's back up!
July 18, 2018, 10:49:52 PM
roger: I can post but it goes to an error page when I submit.

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.114 seconds with 22 queries.