質問編集履歴

2

丸めの関数の修正

2021/04/01 01:55

投稿

smile_20200722
smile_20200722

スコア11

test CHANGED
File without changes
test CHANGED
@@ -227,3 +227,323 @@
227
227
  1100-1210
228
228
 
229
229
  ```
230
+
231
+
232
+
233
+ ### 丸めの関数を修正したコード
234
+
235
+ AtCoderの問題の丸め方が間違えているとのご指摘を受けて、自分で考えた関数です。
236
+
237
+
238
+
239
+ ```c++
240
+
241
+ string my_round_start(string s) {
242
+
243
+ if(s.at(3) == '0' || s.at(3) == '1' || s.at(3) == '2' || s.at(3) == '3' ||
244
+
245
+ s.at(3) == '4') {
246
+
247
+ s.at(3) = '0';
248
+
249
+ } else if(s.at(3) == '5' || s.at(3) == '6' || s.at(3) == '7' ||
250
+
251
+ s.at(3) == '8' || s.at(3) == '9') {
252
+
253
+ s.at(3) = '5';
254
+
255
+ }
256
+
257
+ return s;
258
+
259
+ }
260
+
261
+
262
+
263
+ string my_round_end(string s) {
264
+
265
+ if(s.at(3) == '0') {
266
+
267
+ s.at(3) = '0';
268
+
269
+ } else if(s.at(3) == '1' || s.at(3) == '2' || s.at(3) == '3' ||
270
+
271
+ s.at(3) == '4' || s.at(3) == '5') {
272
+
273
+ s.at(3) = '5';
274
+
275
+ } else if(s.at(3) == '6' || s.at(3) == '7' || s.at(3) == '8') {
276
+
277
+ if(s.at(2) == '0') {
278
+
279
+ s.at(2) = '1';
280
+
281
+ s.at(3) = '0';
282
+
283
+ } else if(s.at(2) == '1') {
284
+
285
+ s.at(2) = '2';
286
+
287
+ s.at(3) = '0';
288
+
289
+ } else if(s.at(2) == '2') {
290
+
291
+ s.at(2) = '3';
292
+
293
+ s.at(3) = '0';
294
+
295
+ } else if(s.at(2) == '3') {
296
+
297
+ s.at(2) = '4';
298
+
299
+ s.at(3) = '0';
300
+
301
+ } else if(s.at(2) == '4') {
302
+
303
+ s.at(2) = '5';
304
+
305
+ s.at(3) = '0';
306
+
307
+ } else if(s.at(2) == '5') {
308
+
309
+ if(s.at(0) == '0' && s.at(1) == '0') {
310
+
311
+ s = "0100";
312
+
313
+ } else if(s.at(0) == '0' && s.at(1) == '1') {
314
+
315
+ s = "0200";
316
+
317
+ } else if(s.at(0) == '0' && s.at(1) == '2') {
318
+
319
+ s = "0300";
320
+
321
+ } else if(s.at(0) == '0' && s.at(1) == '3') {
322
+
323
+ s = "0400";
324
+
325
+ } else if(s.at(0) == '0' && s.at(1) == '4') {
326
+
327
+ s = "0500";
328
+
329
+ } else if(s.at(0) == '0' && s.at(1) == '5') {
330
+
331
+ s = "0600";
332
+
333
+ } else if(s.at(0) == '0' && s.at(1) == '6') {
334
+
335
+ s = "0700";
336
+
337
+ } else if(s.at(0) == '0' && s.at(1) == '7') {
338
+
339
+ s = "0800";
340
+
341
+ } else if(s.at(0) == '0' && s.at(1) == '8') {
342
+
343
+ s = "0900";
344
+
345
+ } else if(s.at(0) == '0' && s.at(1) == '9') {
346
+
347
+ s = "1000";
348
+
349
+ } else if(s.at(0) == '1' && s.at(1) == '0') {
350
+
351
+ s = "1100";
352
+
353
+ } else if(s.at(0) == '1' && s.at(1) == '1') {
354
+
355
+ s = "1200";
356
+
357
+ } else if(s.at(0) == '1' && s.at(1) == '2') {
358
+
359
+ s = "1300";
360
+
361
+ } else if(s.at(0) == '1' && s.at(1) == '3') {
362
+
363
+ s = "1400";
364
+
365
+ } else if(s.at(0) == '1' && s.at(1) == '4') {
366
+
367
+ s = "1500";
368
+
369
+ } else if(s.at(0) == '1' && s.at(1) == '5') {
370
+
371
+ s = "1600";
372
+
373
+ } else if(s.at(0) == '1' && s.at(1) == '6') {
374
+
375
+ s = "1700";
376
+
377
+ } else if(s.at(0) == '1' && s.at(1) == '7') {
378
+
379
+ s = "1800";
380
+
381
+ } else if(s.at(0) == '1' && s.at(1) == '8') {
382
+
383
+ s = "1900";
384
+
385
+ } else if(s.at(0) == '1' && s.at(1) == '9') {
386
+
387
+ s = "2000";
388
+
389
+ } else if(s.at(0) == '2' && s.at(1) == '0') {
390
+
391
+ s = "2100";
392
+
393
+ } else if(s.at(0) == '2' && s.at(1) == '1') {
394
+
395
+ s = "2200";
396
+
397
+ } else if(s.at(0) == '2' && s.at(1) == '2') {
398
+
399
+ s = "2300";
400
+
401
+ } else if(s.at(0) == '2' && s.at(1) == '3') {
402
+
403
+ s = "2400";
404
+
405
+ }
406
+
407
+ }
408
+
409
+ } else if(s.at(3) == '9') {
410
+
411
+ if(s.at(2) == '0') {
412
+
413
+ s.at(2) = '1';
414
+
415
+ s.at(3) = '0';
416
+
417
+ } else if(s.at(2) == '1') {
418
+
419
+ s.at(2) = '2';
420
+
421
+ s.at(3) = '0';
422
+
423
+ } else if(s.at(2) == '2') {
424
+
425
+ s.at(2) = '3';
426
+
427
+ s.at(3) = '0';
428
+
429
+ } else if(s.at(2) == '3') {
430
+
431
+ s.at(2) = '4';
432
+
433
+ s.at(3) = '0';
434
+
435
+ } else if(s.at(2) == '4') {
436
+
437
+ s.at(2) = '5';
438
+
439
+ s.at(3) = '0';
440
+
441
+ } else if(s.at(2) == '5') {
442
+
443
+ if(s.at(0) == '0' && s.at(1) == '0') {
444
+
445
+ s = "0100";
446
+
447
+ } else if(s.at(0) == '0' && s.at(1) == '1') {
448
+
449
+ s = "0200";
450
+
451
+ } else if(s.at(0) == '0' && s.at(1) == '2') {
452
+
453
+ s = "0300";
454
+
455
+ } else if(s.at(0) == '0' && s.at(1) == '3') {
456
+
457
+ s = "0400";
458
+
459
+ } else if(s.at(0) == '0' && s.at(1) == '4') {
460
+
461
+ s = "0500";
462
+
463
+ } else if(s.at(0) == '0' && s.at(1) == '5') {
464
+
465
+ s = "0600";
466
+
467
+ } else if(s.at(0) == '0' && s.at(1) == '6') {
468
+
469
+ s = "0700";
470
+
471
+ } else if(s.at(0) == '0' && s.at(1) == '7') {
472
+
473
+ s = "0800";
474
+
475
+ } else if(s.at(0) == '0' && s.at(1) == '8') {
476
+
477
+ s = "0900";
478
+
479
+ } else if(s.at(0) == '0' && s.at(1) == '9') {
480
+
481
+ s = "1000";
482
+
483
+ } else if(s.at(0) == '1' && s.at(1) == '0') {
484
+
485
+ s = "1100";
486
+
487
+ } else if(s.at(0) == '1' && s.at(1) == '1') {
488
+
489
+ s = "1200";
490
+
491
+ } else if(s.at(0) == '1' && s.at(1) == '2') {
492
+
493
+ s = "1300";
494
+
495
+ } else if(s.at(0) == '1' && s.at(1) == '3') {
496
+
497
+ s = "1400";
498
+
499
+ } else if(s.at(0) == '1' && s.at(1) == '4') {
500
+
501
+ s = "1500";
502
+
503
+ } else if(s.at(0) == '1' && s.at(1) == '5') {
504
+
505
+ s = "1600";
506
+
507
+ } else if(s.at(0) == '1' && s.at(1) == '6') {
508
+
509
+ s = "1700";
510
+
511
+ } else if(s.at(0) == '1' && s.at(1) == '7') {
512
+
513
+ s = "1800";
514
+
515
+ } else if(s.at(0) == '1' && s.at(1) == '8') {
516
+
517
+ s = "1900";
518
+
519
+ } else if(s.at(0) == '1' && s.at(1) == '9') {
520
+
521
+ s = "2000";
522
+
523
+ } else if(s.at(0) == '2' && s.at(1) == '0') {
524
+
525
+ s = "2100";
526
+
527
+ } else if(s.at(0) == '2' && s.at(1) == '1') {
528
+
529
+ s = "2200";
530
+
531
+ } else if(s.at(0) == '2' && s.at(1) == '2') {
532
+
533
+ s = "2300";
534
+
535
+ } else if(s.at(0) == '2' && s.at(1) == '3') {
536
+
537
+ s = "2400";
538
+
539
+ }
540
+
541
+ }
542
+
543
+ }
544
+
545
+ return s;
546
+
547
+ }
548
+
549
+ ```

1

期待する出力の追記

2021/04/01 01:55

投稿

smile_20200722
smile_20200722

スコア11

test CHANGED
File without changes
test CHANGED
@@ -30,8 +30,6 @@
30
30
 
31
31
 
32
32
 
33
-
34
-
35
33
  ### 該当のソースコード
36
34
 
37
35
 
@@ -199,3 +197,33 @@
199
197
  }
200
198
 
201
199
  ```
200
+
201
+
202
+
203
+ ### 期待する出力
204
+
205
+ 数値を時刻として、続いている間の時刻を一つにまとめて表示したいです。
206
+
207
+
208
+
209
+ ```
210
+
211
+ 1106-1123
212
+
213
+ 1129-1203
214
+
215
+ 1148-1210
216
+
217
+ output:
218
+
219
+ 1100-1125
220
+
221
+ 1120-1205
222
+
223
+ 1140-1210
224
+
225
+ ans:
226
+
227
+ 1100-1210
228
+
229
+ ```