[백준 BOJ] 11947 이런반전이
하나의 양의 정수 n에 대해서 n의 ‘반전’인 F(n)은 다음과 같이 정의됩니다..
문제로 이동할려면 여기를 클릭하세요.
풀이
- 1 이상 N 이하인 수들의 ‘사랑스러움’ 중 최댓값
- N의 자릿수를 기준으로 해당 자릿수에서 중간값 이하이면 해당 값과 그 반전값의 곱
- 중간값 이상이면 중간값과 그 반전 값의 곱
string
을int
로 변환해주는stoi()
를 사용하면 범위초과로 런타임 에러가 날 수 있음 =>stol()
을 사용하자!
예제
- 입력값이 77일 때 2자리 수의 중앙값인 49와 50의 곲이 최대값
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
1X8=8
2X7=14
3X6=18
4X5=20
5X4=20
6X3=18
7X2=14
8X1=8
9X0=0
10X89=890
11X88=968
12X87=1044
13X86=1118
14X85=1190
15X84=1260
16X83=1328
17X82=1394
18X81=1458
19X80=1520
20X79=1580
21X78=1638
22X77=1694
23X76=1748
24X75=1800
25X74=1850
26X73=1898
27X72=1944
28X71=1988
29X70=2030
30X69=2070
31X68=2108
32X67=2144
33X66=2178
34X65=2210
35X64=2240
36X63=2268
37X62=2294
38X61=2318
39X60=2340
40X59=2360
41X58=2378
42X57=2394
43X56=2408
44X55=2420
45X54=2430
46X53=2438
47X52=2444
48X51=2448
49X50=2450 => 최대값
50X49=2450 => 최대값
51X48=2448
52X47=2444
53X46=2438
54X45=2430
55X44=2420
56X43=2408
57X42=2394
58X41=2378
59X40=2360
60X39=2340
61X38=2318
62X37=2294
63X36=2268
64X35=2240
65X34=2210
66X33=2178
67X32=2144
68X31=2108
69X30=2070
70X29=2030
71X28=1988
72X27=1944
73X26=1898
74X25=1850
75X24=1800
76X23=1748
77X22=1694
코드