@dc42 - why do you need to use a 1K resistor? and how did you come to this value? I'm not questioning your intelligence in any shape or form I just like to learn :)
When driving a transistor used as a switch from an Arduino pin, you need to use a resistor in series with the base to limit the current. The current needs to be enough to make the transistor saturate, so you want somewhat more than Ic/hfe where Ic is the collector current (which you said was 120mA max) and hfe is the transistor gain at the collector current. The minimum hfe for a BC337 at 120mA is around 100, so the base current needs to be more than 1.2mA. A 1K resistor gives about 4.3mA, which means the transistor will be sufficiently overdriven to put it well into saturation.
Because the resistance swing is so great, how would I calculate the value of the other resistor in the divider?
You can't really calculate it. You could measure the resistance of the LDR at the minimum required light level and use than; or just experiment with different resistors, perhaps starting at a value around the geometric mean of its maximum and minimum values.