Golfcoder FAQ LOGIN
Error

Advent of Code Leaderboard 2023 / Day 1

View puzzle on adventofcode.com

Submit solution



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), 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.

Leaderboard

Name Language Tokens Sum Tokens Part 1 Tokens Part 2 Last change
1 Profile imageSharparam Ruby 148 36 112 11 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 11 months ago
9 Profile imageMathias Parger Python 348 129 219 11 months ago
10 Profile imageabnew123 Java 527 189 338 11 months ago
11 Profile imageKevin Brasier Python 10043 43 - 11 months ago
12 Profile imageNolan Locke Kotlin 10048 48 - 11 months ago
13 Profile image0bArcane Python 10067 67 - 11 months ago
14 Profile imageVisible-Bag4062 Java 10115 115 - 11 months ago

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))