Golfcoder FAQ LOGIN
Error

Advent of Code Leaderboard 2023 / Day 1

View puzzle on adventofcode.com

Submit solution



Leaderboard

Name Language Tokens Sum Tokens Part 1 Tokens Part 2 Last change
1 Profile imageSharparam Ruby 148 36 112 12 months ago
2 Profile imageVisible-Bag4062 Python 208 45 163 11 months ago
3 Profile imageMustafa Furkan Kaptan Python 209 43 166 11 months ago
4 Profile imageValentin Slawicek Kotlin 212 52 160 11 months ago
5 Profile imageLiquidFun Python 217 56 161 11 months ago
6 GXgaetjen Kotlin 232 78 154 12 months ago
7 Profile imageanonymous Kotlin 261 60 201 12 months ago
8 Profile imageVisible-Bag4062 C++ 290 74 216 12 months ago
9 Profile imageMathias Parger Python 348 129 219 11 months ago
10 Profile imageabnew123 Java 527 189 338 12 months ago
11 Profile imageKevin Brasier Python 10043 43 - 11 months ago
12 Profile imageNolan Locke Kotlin 10048 48 - 12 months ago
13 Profile image0bArcane Python 10067 67 - 12 months ago
14 Profile imageVisible-Bag4062 Java 10115 115 - 12 months ago

Rules

  • You're welcome to participate alone or in a team.
  • You may submit multiple solutions and explore different programming languages.
  • Stick to the standard library of your language, no further dependencies/libraries, except the ones which OneCompiler provides (e.g. NumPy for Python).
  • Ensure your code aligns to the template (Python, Rust, Go, Kotlin, JavaScript, C#, TypeScript, C++, Java, C, Swift, Scala, Ruby, Bash), reading the puzzle input from stdin (terminated with end-of-file), and printing the solution to stdout.
  • Please refrain from making network requests, reading data from files, or storing data in variable/function/class names for reflection.
  • Your code must be able to process all valid Advent of Code inputs. Golfcoder might reevaluate correctness of your solution with different inputs after your submission.

219 tokens in Python for part 2 by Mathias Parger

Download solution

digits=[
"one","two","three","four","five","six","seven","eight","nine"
]

deffind_digit(text):
c=text[0]
ifc.isdigit():
returnint(c)
else:
fordigit_idx,digitinenumerate(digits):
iftext.startswith(digit):
returndigit_idx+1

returnNone


outputs=[]

try:
whileline:=input():
foriinrange(len(line)):
first=find_digit(line[i:])
iffirstisnotNone:
break
foriinrange(len(line)-1,-1,-1):
last=find_digit(line[i:])
iflastisnotNone:
break

outputs.append(int(str(first)+str(last)))
except:
print(sum(outputs))