Skip to content

Commit 8fb92a1

Browse files
committed
add day 3
1 parent 1fc9640 commit 8fb92a1

File tree

2 files changed

+118
-0
lines changed

2 files changed

+118
-0
lines changed

2024/03/index.ts

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
const survivalRatio = (input: number) => {
2+
const data = annualData[input];
3+
if (!data) {
4+
throw new Error("Data not found");
5+
}
6+
return data.housingIndex / data.minimumWage;
7+
};
8+
9+
type AnnualData = Record<
10+
string,
11+
{
12+
/** inflation corrected housing price index */
13+
housingIndex: number;
14+
15+
/** inflation corrected North Pole minimum wage */
16+
minimumWage: number;
17+
}
18+
>;
19+
20+
const annualData: AnnualData = {
21+
2009: {
22+
housingIndex: 159.50891,
23+
minimumWage: 92.85234,
24+
},
25+
2010: {
26+
housingIndex: 143.02079,
27+
minimumWage: 100.50286,
28+
},
29+
2011: {
30+
housingIndex: 134.38007,
31+
minimumWage: 98.68833,
32+
},
33+
2012: {
34+
housingIndex: 128.14281,
35+
minimumWage: 96.31795,
36+
},
37+
2013: {
38+
housingIndex: 129.07457,
39+
minimumWage: 94.94066,
40+
},
41+
2014: {
42+
housingIndex: 133.94671,
43+
minimumWage: 93.72707,
44+
},
45+
2015: {
46+
housingIndex: 143.30408,
47+
minimumWage: 93.59833,
48+
},
49+
2016: {
50+
housingIndex: 150.21623,
51+
minimumWage: 92.9189,
52+
},
53+
2017: {
54+
housingIndex: 154.90384,
55+
minimumWage: 91.06557,
56+
},
57+
2018: {
58+
housingIndex: 161.67095,
59+
minimumWage: 89.39745,
60+
},
61+
2019: {
62+
housingIndex: 167.71417,
63+
minimumWage: 88.11883,
64+
},
65+
2020: {
66+
housingIndex: 173.5093,
67+
minimumWage: 86.81302,
68+
},
69+
2021: {
70+
housingIndex: 182.89259,
71+
minimumWage: 85.10033,
72+
},
73+
2022: {
74+
housingIndex: 199.43678,
75+
minimumWage: 79.80175,
76+
},
77+
2023: {
78+
housingIndex: 205.8372,
79+
minimumWage: 75.95666,
80+
},
81+
2024: {
82+
housingIndex: 214.9681,
83+
minimumWage: 73.98181,
84+
},
85+
};
86+
87+
// ------------------- Test section ---------------------
88+
89+
export const reportForSanta = {
90+
2009: survivalRatio(2009),
91+
2010: survivalRatio(2010),
92+
2011: survivalRatio(2011),
93+
2012: survivalRatio(2012),
94+
2013: survivalRatio(2013),
95+
2014: survivalRatio(2014),
96+
2015: survivalRatio(2015),
97+
2016: survivalRatio(2016),
98+
2017: survivalRatio(2017),
99+
2018: survivalRatio(2018),
100+
2019: survivalRatio(2019),
101+
2020: survivalRatio(2020),
102+
2021: survivalRatio(2021),
103+
2022: survivalRatio(2022),
104+
2023: survivalRatio(2023),
105+
};
106+
107+
// @ts-expect-error
108+
survivalRatio("1");
109+
110+
// @ts-expect-error
111+
survivalRatio(true);
112+
113+
// @ts-expect-error
114+
survivalRatio([1]);
115+
116+
// @ts-expect-error
117+
survivalRatio({ 1: 1 });

eslint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export default tseslint.config(
4949
ignoreRestSiblings: true,
5050
},
5151
],
52+
"@typescript-eslint/ban-ts-comment": "off",
5253
},
5354
},
5455
);

0 commit comments

Comments
 (0)