day 1
This commit is contained in:
commit
0bb7cd7007
200
01/input
Normal file
200
01/input
Normal file
@ -0,0 +1,200 @@
|
||||
1711
|
||||
1924
|
||||
1384
|
||||
1590
|
||||
1876
|
||||
1918
|
||||
2003
|
||||
1514
|
||||
1608
|
||||
1984
|
||||
1706
|
||||
1375
|
||||
1476
|
||||
1909
|
||||
1615
|
||||
1879
|
||||
1940
|
||||
1945
|
||||
1899
|
||||
1510
|
||||
1657
|
||||
1685
|
||||
1588
|
||||
1884
|
||||
1864
|
||||
1995
|
||||
1648
|
||||
1713
|
||||
1532
|
||||
1556
|
||||
1572
|
||||
1667
|
||||
1861
|
||||
1773
|
||||
1501
|
||||
1564
|
||||
1756
|
||||
395
|
||||
1585
|
||||
1717
|
||||
1553
|
||||
1487
|
||||
1617
|
||||
1808
|
||||
1780
|
||||
1570
|
||||
1881
|
||||
1992
|
||||
1894
|
||||
1772
|
||||
1837
|
||||
2002
|
||||
1659
|
||||
1731
|
||||
1873
|
||||
1760
|
||||
552
|
||||
1575
|
||||
1597
|
||||
1986
|
||||
1416
|
||||
1398
|
||||
1737
|
||||
1027
|
||||
1457
|
||||
198
|
||||
1904
|
||||
1753
|
||||
1727
|
||||
633
|
||||
1577
|
||||
1944
|
||||
1369
|
||||
1400
|
||||
1843
|
||||
1966
|
||||
1008
|
||||
1681
|
||||
1890
|
||||
1939
|
||||
1605
|
||||
1548
|
||||
1953
|
||||
1839
|
||||
1409
|
||||
1592
|
||||
1744
|
||||
1761
|
||||
1613
|
||||
1412
|
||||
1759
|
||||
703
|
||||
1498
|
||||
1941
|
||||
1425
|
||||
1528
|
||||
1469
|
||||
1728
|
||||
1447
|
||||
1406
|
||||
1797
|
||||
1543
|
||||
1682
|
||||
1722
|
||||
1723
|
||||
1893
|
||||
1644
|
||||
796
|
||||
1505
|
||||
1715
|
||||
1729
|
||||
1943
|
||||
1626
|
||||
1602
|
||||
1964
|
||||
1509
|
||||
1816
|
||||
1660
|
||||
1399
|
||||
1996
|
||||
1750
|
||||
1701
|
||||
1963
|
||||
1979
|
||||
1558
|
||||
1506
|
||||
1465
|
||||
2001
|
||||
1935
|
||||
1616
|
||||
1990
|
||||
1946
|
||||
1818
|
||||
1892
|
||||
1431
|
||||
1832
|
||||
1688
|
||||
2004
|
||||
1424
|
||||
1716
|
||||
1897
|
||||
1931
|
||||
1557
|
||||
1389
|
||||
1872
|
||||
1640
|
||||
1670
|
||||
1911
|
||||
1427
|
||||
1730
|
||||
211
|
||||
1420
|
||||
1488
|
||||
1689
|
||||
1383
|
||||
1967
|
||||
1594
|
||||
642
|
||||
1622
|
||||
1627
|
||||
1607
|
||||
1372
|
||||
1596
|
||||
1451
|
||||
1693
|
||||
1380
|
||||
1745
|
||||
1908
|
||||
1785
|
||||
1646
|
||||
1824
|
||||
1418
|
||||
1258
|
||||
1664
|
||||
1631
|
||||
1459
|
||||
1901
|
||||
1838
|
||||
1794
|
||||
1815
|
||||
1388
|
||||
1809
|
||||
1920
|
||||
1411
|
||||
1593
|
||||
1676
|
||||
1610
|
||||
1629
|
||||
1512
|
||||
1522
|
||||
1649
|
||||
1740
|
||||
1695
|
||||
1504
|
||||
1856
|
||||
1791
|
||||
1898
|
||||
1661
|
||||
1806
|
||||
1851
|
88
01/main.go
Normal file
88
01/main.go
Normal file
@ -0,0 +1,88 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func main() {
|
||||
partOne()
|
||||
partTwo()
|
||||
}
|
||||
|
||||
// [...] they need you to find the two entries that sum to 2020 and then multiply those two numbers together.
|
||||
// For example, suppose your expense report contained the following:
|
||||
// 1721
|
||||
// 979
|
||||
// 366
|
||||
// 299
|
||||
// 675
|
||||
// 1456
|
||||
// In this list, the two entries that sum to 2020 are 1721 and 299.
|
||||
// Multiplying them together produces 1721 * 299 = 514579, so the correct answer is 514579.
|
||||
|
||||
func partOne() {
|
||||
f, _ := os.Open("input")
|
||||
reader := bufio.NewReader(f)
|
||||
scanner := bufio.NewScanner(reader)
|
||||
|
||||
numbers := []int{}
|
||||
|
||||
for scanner.Scan() {
|
||||
i, _ := strconv.Atoi(scanner.Text())
|
||||
numbers = append(numbers, i)
|
||||
}
|
||||
|
||||
for i := range numbers {
|
||||
if result := checkTwoSums(numbers[i], numbers[i+1:]); result != 0 {
|
||||
fmt.Println(result)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func checkTwoSums(i int, rest []int) int {
|
||||
for _, j := range rest {
|
||||
if i+j == 2020 {
|
||||
return i * j
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// Can find three numbers in your expense report that meet the same criteria?
|
||||
// Using the above example again, the three entries that sum to 2020 are 979, 366, and 675.
|
||||
// Multiplying them together produces the answer, 241861950.
|
||||
|
||||
func partTwo() {
|
||||
f, _ := os.Open("input")
|
||||
reader := bufio.NewReader(f)
|
||||
scanner := bufio.NewScanner(reader)
|
||||
|
||||
numbers := []int{}
|
||||
|
||||
for scanner.Scan() {
|
||||
i, _ := strconv.Atoi(scanner.Text())
|
||||
numbers = append(numbers, i)
|
||||
}
|
||||
|
||||
for i := range numbers {
|
||||
for j := range numbers[i+1:] {
|
||||
if result := checkThreeSums(numbers[i], numbers[j], numbers[j+1:]); result != 0 {
|
||||
fmt.Println(result)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func checkThreeSums(i int, j int, rest []int) int {
|
||||
for _, k := range rest {
|
||||
if i+j+k == 2020 {
|
||||
return i * j * k
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
Loading…
Reference in New Issue
Block a user