├── 1034 └── meta.json ├── 1041 ├── meta.json └── Note.md ├── 1043 ├── meta.json └── solution.py ├── 1058 └── meta.json ├── 1068 ├── meta.json ├── Note.md └── README.md ├── 1081 ├── meta.json └── solution.kt ├── 1111 └── meta.json ├── 1149 ├── meta.json ├── Note.md ├── solution.py └── README.md ├── 1157 ├── meta.json └── solution.kt ├── 1226 └── meta.json ├── 1236 ├── meta.json └── solution.kt ├── 1253 └── meta.json ├── 1276 ├── meta.json └── solution.py ├── 1331 └── meta.json ├── 1340 ├── meta.json ├── Note.md └── README.md ├── 1357 ├── solution.py ├── meta.json ├── Note.md └── README.md ├── 1365 └── meta.json ├── 1373 ├── solution.py ├── meta.json ├── Note.md └── README.md ├── 1459 ├── meta.json └── solution.kt ├── 1504 └── meta.json ├── 1562 └── meta.json ├── 1564 ├── meta.json └── solution.py ├── 1599 └── meta.json ├── 1629 ├── meta.json ├── Note.md └── solution.kt ├── 1654 ├── meta.json └── solution.py ├── 1689 └── meta.json ├── 1709 └── meta.json ├── 1717 └── meta.json ├── 1735 ├── meta.json ├── Note.md ├── solution.py └── README.md ├── 1756 └── meta.json ├── 1767 └── meta.json ├── 1790 ├── meta.json └── solution.py ├── 1834 └── meta.json ├── 1904 ├── meta.json ├── solution.py └── Note.md ├── 1916 └── meta.json ├── 1935 ├── meta.json ├── Note.md └── README.md ├── 1964 ├── meta.json └── solution.kt ├── 1992 ├── meta.json └── solution.py ├── 2002 └── meta.json ├── 2011 └── meta.json ├── 2014 ├── meta.json └── solution.kt ├── 2019 ├── test │ └── kiwi-self-loop-case.in └── meta.json ├── 2028 ├── meta.json └── solution.kt ├── 2033 ├── meta.json └── solution.kt ├── 2093 └── meta.json ├── 2097 ├── meta.json └── solution.kt ├── 2103 └── meta.json ├── 2133 ├── meta.json └── solution.kt ├── 2226 └── meta.json ├── 2228 └── meta.json ├── 2240 └── meta.json ├── 2320 └── meta.json ├── 2386 ├── meta.json └── solution.kt ├── 2410 ├── meta.json └── solution.kt ├── 2411 └── meta.json ├── 2422 ├── meta.json └── Note.md ├── 2435 ├── meta.json ├── Note.md ├── solution.py └── README.md ├── 2469 └── meta.json ├── 2491 └── meta.json ├── 2493 └── meta.json ├── 2502 ├── meta.json └── solution.kt ├── 2504 ├── meta.json ├── Note.md └── README.md ├── 2505 └── meta.json ├── 2508 ├── meta.json ├── Note.md ├── README.md └── solution.py ├── 2529 └── meta.json ├── 2546 ├── meta.json └── solution.kt ├── 2547 ├── meta.json ├── Note.md └── solution.py ├── 2560 └── meta.json ├── 2579 └── meta.json ├── 2589 └── meta.json ├── 2606 └── meta.json ├── 2622 ├── meta.json └── solution.py ├── 2644 └── meta.json ├── 2684 ├── meta.json └── solution.kt ├── 2695 └── meta.json ├── 2712 ├── meta.json └── solution.kt ├── 2718 ├── meta.json └── solution.kt ├── 2740 ├── meta.json └── solution.kt ├── 2749 └── meta.json ├── 2757 ├── meta.json └── solution.js ├── 2812 └── meta.json ├── 2869 ├── meta.json └── solution.kt ├── 2875 ├── meta.json └── solution.py ├── 2878 └── meta.json ├── 2896 ├── meta.json └── solution.py ├── 2920 └── meta.json ├── 2929 ├── meta.json └── solution.kt ├── 2992 ├── meta.json └── solution.kt ├── 3026 └── meta.json ├── 3062 ├── meta.json └── solution.kt ├── 3165 └── meta.json ├── 3181 ├── meta.json └── solution.kt ├── 3186 └── meta.json ├── 3213 ├── meta.json ├── Note.md ├── README.md └── solution.py ├── 3257 └── meta.json ├── 3273 ├── meta.json └── solution.kt ├── 3372 └── meta.json ├── 3447 ├── meta.json ├── Note.md └── README.md ├── 3709 ├── meta.json └── solution.py ├── 3863 ├── meta.json └── solution.kt ├── 3991 ├── meta.json ├── solution.kt └── Note.md ├── 4101 ├── meta.json └── solution.kt ├── 4320 └── meta.json ├── 4375 └── meta.json ├── 4378 ├── meta.json ├── solution.py ├── Note.md └── README.md ├── 4436 ├── meta.json └── solution.kt ├── 4531 ├── meta.json ├── Note.md └── README.md ├── 4732 ├── meta.json └── solution.py ├── 4921 └── meta.json ├── 5015 └── meta.json ├── 5177 └── meta.json ├── 5397 └── meta.json ├── 5430 ├── meta.json └── solution.py ├── 5550 └── meta.json ├── 5597 ├── meta.json └── solution.kt ├── 5639 └── meta.json ├── 5875 └── meta.json ├── 5883 ├── meta.json └── solution.kt ├── 6051 └── meta.json ├── 6236 └── meta.json ├── 6246 ├── meta.json └── solution.kt ├── 6568 └── meta.json ├── 6597 └── meta.json ├── 7481 ├── meta.json └── solution.kt ├── 8911 └── meta.json ├── 9047 ├── meta.json └── solution.kt ├── 9084 └── meta.json ├── 9184 └── meta.json ├── 9251 └── meta.json ├── 9461 ├── meta.json ├── solution.py ├── Note.md └── README.md ├── 9625 ├── meta.json ├── solution.py └── Note.md ├── 9658 ├── meta.json └── solution.kt ├── 9663 └── meta.json ├── 9693 ├── meta.json ├── solution.py └── Note.md ├── 9694 └── meta.json ├── 9735 └── meta.json ├── 9933 ├── meta.json ├── solution.py ├── Note.md └── README.md ├── 9946 ├── meta.json └── solution.kt ├── 9996 ├── meta.json └── solution.kt ├── 10166 ├── meta.json ├── solution.py └── Note.md ├── 10464 ├── meta.json └── solution.py ├── 10476 └── meta.json ├── 10610 ├── meta.json └── solution.kt ├── 10799 ├── meta.json └── solution.kt ├── 10809 ├── meta.json └── solution.kt ├── 10988 ├── solution.py └── meta.json ├── 11000 └── meta.json ├── 11047 ├── meta.json ├── Note.md ├── solution.py └── README.md ├── 11053 ├── meta.json └── solution.py ├── 11060 └── meta.json ├── 11082 ├── meta.json └── solution.py ├── 11285 ├── meta.json ├── solution.py ├── Note.md └── README.md ├── 11383 ├── meta.json ├── Note.md ├── solution.py └── README.md ├── 11403 └── meta.json ├── 11441 ├── meta.json └── solution.py ├── 11508 ├── meta.json └── solution.kt ├── 11650 ├── meta.json └── solution.kt ├── 11663 └── meta.json ├── 11719 ├── solution.kt └── meta.json ├── 11723 └── meta.json ├── 11725 ├── meta.json └── Note.md ├── 11877 └── meta.json ├── 12090 ├── meta.json └── solution.kt ├── 12779 ├── meta.json └── solution.kt ├── 12781 └── meta.json ├── 12789 ├── meta.json └── solution.kt ├── 12845 ├── meta.json └── solution.kt ├── 12915 └── meta.json ├── 12919 └── meta.json ├── 13023 └── meta.json ├── 13116 ├── meta.json └── solution.kt ├── 13163 ├── meta.json └── solution.kt ├── 13294 └── meta.json ├── 13301 ├── meta.json └── solution.py ├── 13398 ├── meta.json └── solution.kt ├── 13414 ├── meta.json └── solution.kt ├── 13699 ├── meta.json └── solution.kt ├── 13710 └── meta.json ├── 13915 ├── meta.json └── solution.kt ├── 14246 └── meta.json ├── 14256 └── meta.json ├── 14400 └── meta.json ├── 14405 └── meta.json ├── 14491 └── meta.json ├── 14563 └── meta.json ├── 14569 ├── meta.json └── solution.kt ├── 14581 ├── meta.json └── solution.kt ├── 14583 └── meta.json ├── 14585 ├── meta.json └── solution.py ├── 14594 ├── meta.json └── solution.py ├── 14629 └── meta.json ├── 14648 ├── meta.json ├── Note.md ├── solution.py └── README.md ├── 14658 └── meta.json ├── 14659 ├── meta.json └── solution.kt ├── 14715 ├── meta.json └── solution.py ├── 14731 └── meta.json ├── 14929 ├── meta.json └── solution.kt ├── 15500 └── meta.json ├── 15501 └── meta.json ├── 15549 ├── solution.txt └── meta.json ├── 15550 ├── solution.txt └── meta.json ├── 15565 ├── meta.json └── solution.kt ├── 15649 ├── meta.json └── solution.py ├── 15710 └── meta.json ├── 15720 ├── meta.json └── solution.kt ├── 15721 ├── meta.json └── solution.py ├── 15724 ├── meta.json └── solution.kt ├── 15810 ├── meta.json └── solution.kt ├── 15910 └── meta.json ├── 15922 └── meta.json ├── 15966 └── meta.json ├── 15999 └── meta.json ├── 16000 └── meta.json ├── 16112 └── meta.json ├── 16117 └── meta.json ├── 16202 └── meta.json ├── 16205 └── meta.json ├── 16433 ├── meta.json └── solution.py ├── 16439 ├── meta.json └── solution.kt ├── 16456 ├── meta.json └── solution.py ├── 16457 └── meta.json ├── 16478 └── meta.json ├── 16497 ├── meta.json └── solution.kt ├── 16510 ├── meta.json ├── solution.py ├── Note.md └── README.md ├── 16916 └── meta.json ├── 16925 └── meta.json ├── 16953 ├── meta.json └── solution.kt ├── 17118 ├── solution.rb ├── meta.json └── evaluate_sigma.py ├── 17174 ├── meta.json └── solution.kt ├── 17245 ├── meta.json └── solution.py ├── 17247 ├── meta.json ├── Note.md ├── solution.py └── README.md ├── 17249 ├── meta.json └── solution.kt ├── 17253 └── meta.json ├── 17294 └── meta.json ├── 17362 ├── meta.json └── solution.kt ├── 17363 ├── meta.json ├── Note.md ├── solution.py └── README.md ├── 17413 └── meta.json ├── 17478 ├── meta.json └── solution.py ├── 17499 └── meta.json ├── 17615 └── meta.json ├── 17829 ├── meta.json └── solution.kt ├── 17946 ├── solution.py └── meta.json ├── 17950 └── meta.json ├── 18111 ├── meta.json └── Note.md ├── 18187 ├── tag.png ├── meta.json └── solution.py ├── 18221 └── meta.json ├── 18429 ├── meta.json └── solution.py ├── 18512 ├── meta.json └── solution.py ├── 18765 └── meta.json ├── 18868 └── meta.json ├── 18870 └── meta.json ├── 18891 └── meta.json ├── 18921 └── meta.json ├── P10166.py ├── P1041.py ├── P1043.py ├── P10464.py ├── P10476.kt ├── P1058.py ├── P10610.kt ├── P1068.py ├── P10799.kt ├── P10809.kt ├── P1081.kt ├── P10988.py ├── P11047.py ├── P11053.py ├── P11082.py ├── P1111.kt ├── P11285.py ├── P11383.py ├── P11403.kt ├── P11441.py ├── P1149.py ├── P11508.kt ├── P1157.kt ├── P11650.kt ├── P11663.cc ├── P11719.kt ├── P11723.kt ├── P11725.py ├── P12090.kt ├── P1236.kt ├── P1253.kt ├── P1276.py ├── P12779.kt ├── P12781.kt ├── P12789.kt ├── P12845.kt ├── P12919.kt ├── P13023.py ├── P13116.kt ├── P13163.kt ├── P13301.py ├── P1331.kt ├── P1340.py ├── P13414.kt ├── P1357.py ├── P13699.kt ├── P1373.py ├── P13915.kt ├── P14400.kt ├── P14405.js ├── P14491.js ├── P14563.rs ├── P14569.kt ├── P14581.kt ├── P14585.py ├── P1459.kt ├── P14594.py ├── P14648.py ├── P14659.kt ├── P14715.py ├── P14929.kt ├── P15500.py ├── P15549.txt ├── P15550.txt ├── P15565.kt ├── P1562.kt ├── P1564.py ├── P15649.py ├── P15720.kt ├── P15721.py ├── P15724.kt ├── P15810.kt ├── P15922.py ├── P1599.kt ├── P16112.rs ├── P16205.kt ├── P1629.kt ├── P16433.py ├── P16439.kt ├── P16456.py ├── P16478.rs ├── P16497.kt ├── P16510.py ├── P1654.py ├── P1689.rs ├── P16916.rs ├── P16925.kt ├── P16953.kt ├── P1709.rs ├── P17118.rb ├── P17174.kt ├── P17245.py ├── P17247.py ├── P17249.kt ├── P17294.rs ├── P1735.py ├── P17362.kt ├── P17363.py ├── P17413.kt ├── P17478.py ├── P17499.kt ├── P17615.kt ├── P17829.kt ├── P1790.py ├── P17946.py ├── P17950.rs ├── P18111.py ├── P18187.py ├── P18221.rs ├── P1834.rs ├── P18429.py ├── P18512.py ├── P18765.txt ├── P18868.kt ├── P18870.js ├── P1904.py ├── P1916.kt ├── P1935.rs ├── P1964.kt ├── P1992.py ├── P2011.kt ├── P2014.kt ├── P2019.py ├── P2028.kt ├── P2033.kt ├── P2097.kt ├── P2133.kt ├── P2386.kt ├── P2410.kt ├── P2422.rs ├── P2435.py ├── P2491.py ├── P2493.rs ├── P2502.kt ├── P2504.kt ├── P2508.py ├── P2529.kt ├── P2546.kt ├── P2547.py ├── P2579.py ├── P2606.py ├── P2622.py ├── P2644.py ├── P2684.kt ├── P2712.kt ├── P2718.kt ├── P2740.kt ├── P2757.js ├── P2812.kt ├── P2869.kt ├── P2875.py ├── P2896.py ├── P2920.kt ├── P2929.kt ├── P2992.kt ├── P3062.kt ├── P3181.kt ├── P3186.kt ├── P3213.py ├── P3273.kt ├── P3372.kt ├── P3447.rs ├── P3863.kt ├── P3991.kt ├── P4101.kt ├── P4320.kt ├── P4378.py ├── P4436.kt ├── P4531.kt ├── P4732.py ├── P4921.kt ├── P5015.kt ├── P5177.kt ├── P5397.kt ├── P5430.py ├── P5597.kt ├── P5639.py ├── P5883.kt ├── P6236.rs ├── P6246.kt ├── P6568.py ├── P7481.kt ├── P9047.kt ├── P9184.kt ├── P9461.py ├── P9625.py ├── P9658.kt ├── P9663.kt ├── P9693.py ├── P9735.kt ├── P9933.py ├── P9946.kt ├── P9996.kt ├── template ├── rust │ └── main.rs ├── python │ └── ii.py ├── kotlin │ └── main.kt ├── Note.template.md └── cpp │ └── main.cc ├── .idea ├── vcs.xml ├── misc.xml ├── runConfigurations │ ├── init.xml │ ├── clean.xml │ ├── analyze.xml │ ├── update_readme.xml │ └── update_symlink.xml ├── modules.xml └── RanolP.iml ├── boj.config.json └── Repository-Visiting-Guide.md /P10166.py: -------------------------------------------------------------------------------- 1 | 10166/solution.py -------------------------------------------------------------------------------- /P1041.py: -------------------------------------------------------------------------------- 1 | 1041/solution.py -------------------------------------------------------------------------------- /P1043.py: -------------------------------------------------------------------------------- 1 | 1043/solution.py -------------------------------------------------------------------------------- /P10464.py: -------------------------------------------------------------------------------- 1 | 10464/solution.py -------------------------------------------------------------------------------- /P10476.kt: -------------------------------------------------------------------------------- 1 | 10476/solution.kt -------------------------------------------------------------------------------- /P1058.py: -------------------------------------------------------------------------------- 1 | 1058/solution.py -------------------------------------------------------------------------------- /P10610.kt: -------------------------------------------------------------------------------- 1 | 10610/solution.kt -------------------------------------------------------------------------------- /P1068.py: -------------------------------------------------------------------------------- 1 | 1068/solution.py -------------------------------------------------------------------------------- /P10799.kt: -------------------------------------------------------------------------------- 1 | 10799/solution.kt -------------------------------------------------------------------------------- /P10809.kt: -------------------------------------------------------------------------------- 1 | 10809/solution.kt -------------------------------------------------------------------------------- /P1081.kt: -------------------------------------------------------------------------------- 1 | 1081/solution.kt -------------------------------------------------------------------------------- /P10988.py: -------------------------------------------------------------------------------- 1 | 10988/solution.py -------------------------------------------------------------------------------- /P11047.py: -------------------------------------------------------------------------------- 1 | 11047/solution.py -------------------------------------------------------------------------------- /P11053.py: -------------------------------------------------------------------------------- 1 | 11053/solution.py -------------------------------------------------------------------------------- /P11082.py: -------------------------------------------------------------------------------- 1 | 11082/solution.py -------------------------------------------------------------------------------- /P1111.kt: -------------------------------------------------------------------------------- 1 | 1111/solution.kt -------------------------------------------------------------------------------- /P11285.py: -------------------------------------------------------------------------------- 1 | 11285/solution.py -------------------------------------------------------------------------------- /P11383.py: -------------------------------------------------------------------------------- 1 | 11383/solution.py -------------------------------------------------------------------------------- /P11403.kt: -------------------------------------------------------------------------------- 1 | 11403/solution.kt -------------------------------------------------------------------------------- /P11441.py: -------------------------------------------------------------------------------- 1 | 11441/solution.py -------------------------------------------------------------------------------- /P1149.py: -------------------------------------------------------------------------------- 1 | 1149/solution.py -------------------------------------------------------------------------------- /P11508.kt: -------------------------------------------------------------------------------- 1 | 11508/solution.kt -------------------------------------------------------------------------------- /P1157.kt: -------------------------------------------------------------------------------- 1 | 1157/solution.kt -------------------------------------------------------------------------------- /P11650.kt: -------------------------------------------------------------------------------- 1 | 11650/solution.kt -------------------------------------------------------------------------------- /P11663.cc: -------------------------------------------------------------------------------- 1 | 11663/solution.cc -------------------------------------------------------------------------------- /P11719.kt: -------------------------------------------------------------------------------- 1 | 11719/solution.kt -------------------------------------------------------------------------------- /P11723.kt: -------------------------------------------------------------------------------- 1 | 11723/solution.kt -------------------------------------------------------------------------------- /P11725.py: -------------------------------------------------------------------------------- 1 | 11725/solution.py -------------------------------------------------------------------------------- /P12090.kt: -------------------------------------------------------------------------------- 1 | 12090/solution.kt -------------------------------------------------------------------------------- /P1236.kt: -------------------------------------------------------------------------------- 1 | 1236/solution.kt -------------------------------------------------------------------------------- /P1253.kt: -------------------------------------------------------------------------------- 1 | 1253/solution.kt -------------------------------------------------------------------------------- /P1276.py: -------------------------------------------------------------------------------- 1 | 1276/solution.py -------------------------------------------------------------------------------- /P12779.kt: -------------------------------------------------------------------------------- 1 | 12779/solution.kt -------------------------------------------------------------------------------- /P12781.kt: -------------------------------------------------------------------------------- 1 | 12781/solution.kt -------------------------------------------------------------------------------- /P12789.kt: -------------------------------------------------------------------------------- 1 | 12789/solution.kt -------------------------------------------------------------------------------- /P12845.kt: -------------------------------------------------------------------------------- 1 | 12845/solution.kt -------------------------------------------------------------------------------- /P12919.kt: -------------------------------------------------------------------------------- 1 | 12919/solution.kt -------------------------------------------------------------------------------- /P13023.py: -------------------------------------------------------------------------------- 1 | 13023/solution.py -------------------------------------------------------------------------------- /P13116.kt: -------------------------------------------------------------------------------- 1 | 13116/solution.kt -------------------------------------------------------------------------------- /P13163.kt: -------------------------------------------------------------------------------- 1 | 13163/solution.kt -------------------------------------------------------------------------------- /P13301.py: -------------------------------------------------------------------------------- 1 | 13301/solution.py -------------------------------------------------------------------------------- /P1331.kt: -------------------------------------------------------------------------------- 1 | 1331/solution.kt -------------------------------------------------------------------------------- /P1340.py: -------------------------------------------------------------------------------- 1 | 1340/solution.py -------------------------------------------------------------------------------- /P13414.kt: -------------------------------------------------------------------------------- 1 | 13414/solution.kt -------------------------------------------------------------------------------- /P1357.py: -------------------------------------------------------------------------------- 1 | 1357/solution.py -------------------------------------------------------------------------------- /P13699.kt: -------------------------------------------------------------------------------- 1 | 13699/solution.kt -------------------------------------------------------------------------------- /P1373.py: -------------------------------------------------------------------------------- 1 | 1373/solution.py -------------------------------------------------------------------------------- /P13915.kt: -------------------------------------------------------------------------------- 1 | 13915/solution.kt -------------------------------------------------------------------------------- /P14400.kt: -------------------------------------------------------------------------------- 1 | 14400/solution.kt -------------------------------------------------------------------------------- /P14405.js: -------------------------------------------------------------------------------- 1 | 14405/solution.js -------------------------------------------------------------------------------- /P14491.js: -------------------------------------------------------------------------------- 1 | 14491/solution.js -------------------------------------------------------------------------------- /P14563.rs: -------------------------------------------------------------------------------- 1 | 14563/solution.rs -------------------------------------------------------------------------------- /P14569.kt: -------------------------------------------------------------------------------- 1 | 14569/solution.kt -------------------------------------------------------------------------------- /P14581.kt: -------------------------------------------------------------------------------- 1 | 14581/solution.kt -------------------------------------------------------------------------------- /P14585.py: -------------------------------------------------------------------------------- 1 | 14585/solution.py -------------------------------------------------------------------------------- /P1459.kt: -------------------------------------------------------------------------------- 1 | 1459/solution.kt -------------------------------------------------------------------------------- /P14594.py: -------------------------------------------------------------------------------- 1 | 14594/solution.py -------------------------------------------------------------------------------- /P14648.py: -------------------------------------------------------------------------------- 1 | 14648/solution.py -------------------------------------------------------------------------------- /P14659.kt: -------------------------------------------------------------------------------- 1 | 14659/solution.kt -------------------------------------------------------------------------------- /P14715.py: -------------------------------------------------------------------------------- 1 | 14715/solution.py -------------------------------------------------------------------------------- /P14929.kt: -------------------------------------------------------------------------------- 1 | 14929/solution.kt -------------------------------------------------------------------------------- /P15500.py: -------------------------------------------------------------------------------- 1 | 15500/solution.py -------------------------------------------------------------------------------- /P15549.txt: -------------------------------------------------------------------------------- 1 | 15549/solution.txt -------------------------------------------------------------------------------- /P15550.txt: -------------------------------------------------------------------------------- 1 | 15550/solution.txt -------------------------------------------------------------------------------- /P15565.kt: -------------------------------------------------------------------------------- 1 | 15565/solution.kt -------------------------------------------------------------------------------- /P1562.kt: -------------------------------------------------------------------------------- 1 | 1562/solution.kt -------------------------------------------------------------------------------- /P1564.py: -------------------------------------------------------------------------------- 1 | 1564/solution.py -------------------------------------------------------------------------------- /P15649.py: -------------------------------------------------------------------------------- 1 | 15649/solution.py -------------------------------------------------------------------------------- /P15720.kt: -------------------------------------------------------------------------------- 1 | 15720/solution.kt -------------------------------------------------------------------------------- /P15721.py: -------------------------------------------------------------------------------- 1 | 15721/solution.py -------------------------------------------------------------------------------- /P15724.kt: -------------------------------------------------------------------------------- 1 | 15724/solution.kt -------------------------------------------------------------------------------- /P15810.kt: -------------------------------------------------------------------------------- 1 | 15810/solution.kt -------------------------------------------------------------------------------- /P15922.py: -------------------------------------------------------------------------------- 1 | 15922/solution.py -------------------------------------------------------------------------------- /P1599.kt: -------------------------------------------------------------------------------- 1 | 1599/solution.kt -------------------------------------------------------------------------------- /P16112.rs: -------------------------------------------------------------------------------- 1 | 16112/solution.rs -------------------------------------------------------------------------------- /P16205.kt: -------------------------------------------------------------------------------- 1 | 16205/solution.kt -------------------------------------------------------------------------------- /P1629.kt: -------------------------------------------------------------------------------- 1 | 1629/solution.kt -------------------------------------------------------------------------------- /P16433.py: -------------------------------------------------------------------------------- 1 | 16433/solution.py -------------------------------------------------------------------------------- /P16439.kt: -------------------------------------------------------------------------------- 1 | 16439/solution.kt -------------------------------------------------------------------------------- /P16456.py: -------------------------------------------------------------------------------- 1 | 16456/solution.py -------------------------------------------------------------------------------- /P16478.rs: -------------------------------------------------------------------------------- 1 | 16478/solution.rs -------------------------------------------------------------------------------- /P16497.kt: -------------------------------------------------------------------------------- 1 | 16497/solution.kt -------------------------------------------------------------------------------- /P16510.py: -------------------------------------------------------------------------------- 1 | 16510/solution.py -------------------------------------------------------------------------------- /P1654.py: -------------------------------------------------------------------------------- 1 | 1654/solution.py -------------------------------------------------------------------------------- /P1689.rs: -------------------------------------------------------------------------------- 1 | 1689/solution.rs -------------------------------------------------------------------------------- /P16916.rs: -------------------------------------------------------------------------------- 1 | 16916/solution.rs -------------------------------------------------------------------------------- /P16925.kt: -------------------------------------------------------------------------------- 1 | 16925/solution.kt -------------------------------------------------------------------------------- /P16953.kt: -------------------------------------------------------------------------------- 1 | 16953/solution.kt -------------------------------------------------------------------------------- /P1709.rs: -------------------------------------------------------------------------------- 1 | 1709/solution.rs -------------------------------------------------------------------------------- /P17118.rb: -------------------------------------------------------------------------------- 1 | 17118/solution.rb -------------------------------------------------------------------------------- /P17174.kt: -------------------------------------------------------------------------------- 1 | 17174/solution.kt -------------------------------------------------------------------------------- /P17245.py: -------------------------------------------------------------------------------- 1 | 17245/solution.py -------------------------------------------------------------------------------- /P17247.py: -------------------------------------------------------------------------------- 1 | 17247/solution.py -------------------------------------------------------------------------------- /P17249.kt: -------------------------------------------------------------------------------- 1 | 17249/solution.kt -------------------------------------------------------------------------------- /P17294.rs: -------------------------------------------------------------------------------- 1 | 17294/solution.rs -------------------------------------------------------------------------------- /P1735.py: -------------------------------------------------------------------------------- 1 | 1735/solution.py -------------------------------------------------------------------------------- /P17362.kt: -------------------------------------------------------------------------------- 1 | 17362/solution.kt -------------------------------------------------------------------------------- /P17363.py: -------------------------------------------------------------------------------- 1 | 17363/solution.py -------------------------------------------------------------------------------- /P17413.kt: -------------------------------------------------------------------------------- 1 | 17413/solution.kt -------------------------------------------------------------------------------- /P17478.py: -------------------------------------------------------------------------------- 1 | 17478/solution.py -------------------------------------------------------------------------------- /P17499.kt: -------------------------------------------------------------------------------- 1 | 17499/solution.kt -------------------------------------------------------------------------------- /P17615.kt: -------------------------------------------------------------------------------- 1 | 17615/solution.kt -------------------------------------------------------------------------------- /P17829.kt: -------------------------------------------------------------------------------- 1 | 17829/solution.kt -------------------------------------------------------------------------------- /P1790.py: -------------------------------------------------------------------------------- 1 | 1790/solution.py -------------------------------------------------------------------------------- /P17946.py: -------------------------------------------------------------------------------- 1 | 17946/solution.py -------------------------------------------------------------------------------- /P17950.rs: -------------------------------------------------------------------------------- 1 | 17950/solution.rs -------------------------------------------------------------------------------- /P18111.py: -------------------------------------------------------------------------------- 1 | 18111/solution.py -------------------------------------------------------------------------------- /P18187.py: -------------------------------------------------------------------------------- 1 | 18187/solution.py -------------------------------------------------------------------------------- /P18221.rs: -------------------------------------------------------------------------------- 1 | 18221/solution.rs -------------------------------------------------------------------------------- /P1834.rs: -------------------------------------------------------------------------------- 1 | 1834/solution.rs -------------------------------------------------------------------------------- /P18429.py: -------------------------------------------------------------------------------- 1 | 18429/solution.py -------------------------------------------------------------------------------- /P18512.py: -------------------------------------------------------------------------------- 1 | 18512/solution.py -------------------------------------------------------------------------------- /P18765.txt: -------------------------------------------------------------------------------- 1 | 18765/solution.txt -------------------------------------------------------------------------------- /P18868.kt: -------------------------------------------------------------------------------- 1 | 18868/solution.kt -------------------------------------------------------------------------------- /P18870.js: -------------------------------------------------------------------------------- 1 | 18870/solution.js -------------------------------------------------------------------------------- /P1904.py: -------------------------------------------------------------------------------- 1 | 1904/solution.py -------------------------------------------------------------------------------- /P1916.kt: -------------------------------------------------------------------------------- 1 | 1916/solution.kt -------------------------------------------------------------------------------- /P1935.rs: -------------------------------------------------------------------------------- 1 | 1935/solution.rs -------------------------------------------------------------------------------- /P1964.kt: -------------------------------------------------------------------------------- 1 | 1964/solution.kt -------------------------------------------------------------------------------- /P1992.py: -------------------------------------------------------------------------------- 1 | 1992/solution.py -------------------------------------------------------------------------------- /P2011.kt: -------------------------------------------------------------------------------- 1 | 2011/solution.kt -------------------------------------------------------------------------------- /P2014.kt: -------------------------------------------------------------------------------- 1 | 2014/solution.kt -------------------------------------------------------------------------------- /P2019.py: -------------------------------------------------------------------------------- 1 | 2019/solution.py -------------------------------------------------------------------------------- /P2028.kt: -------------------------------------------------------------------------------- 1 | 2028/solution.kt -------------------------------------------------------------------------------- /P2033.kt: -------------------------------------------------------------------------------- 1 | 2033/solution.kt -------------------------------------------------------------------------------- /P2097.kt: -------------------------------------------------------------------------------- 1 | 2097/solution.kt -------------------------------------------------------------------------------- /P2133.kt: -------------------------------------------------------------------------------- 1 | 2133/solution.kt -------------------------------------------------------------------------------- /P2386.kt: -------------------------------------------------------------------------------- 1 | 2386/solution.kt -------------------------------------------------------------------------------- /P2410.kt: -------------------------------------------------------------------------------- 1 | 2410/solution.kt -------------------------------------------------------------------------------- /P2422.rs: -------------------------------------------------------------------------------- 1 | 2422/solution.rs -------------------------------------------------------------------------------- /P2435.py: -------------------------------------------------------------------------------- 1 | 2435/solution.py -------------------------------------------------------------------------------- /P2491.py: -------------------------------------------------------------------------------- 1 | 2491/solution.py -------------------------------------------------------------------------------- /P2493.rs: -------------------------------------------------------------------------------- 1 | 2493/solution.rs -------------------------------------------------------------------------------- /P2502.kt: -------------------------------------------------------------------------------- 1 | 2502/solution.kt -------------------------------------------------------------------------------- /P2504.kt: -------------------------------------------------------------------------------- 1 | 2504/solution.kt -------------------------------------------------------------------------------- /P2508.py: -------------------------------------------------------------------------------- 1 | 2508/solution.py -------------------------------------------------------------------------------- /P2529.kt: -------------------------------------------------------------------------------- 1 | 2529/solution.kt -------------------------------------------------------------------------------- /P2546.kt: -------------------------------------------------------------------------------- 1 | 2546/solution.kt -------------------------------------------------------------------------------- /P2547.py: -------------------------------------------------------------------------------- 1 | 2547/solution.py -------------------------------------------------------------------------------- /P2579.py: -------------------------------------------------------------------------------- 1 | 2579/solution.py -------------------------------------------------------------------------------- /P2606.py: -------------------------------------------------------------------------------- 1 | 2606/solution.py -------------------------------------------------------------------------------- /P2622.py: -------------------------------------------------------------------------------- 1 | 2622/solution.py -------------------------------------------------------------------------------- /P2644.py: -------------------------------------------------------------------------------- 1 | 2644/solution.py -------------------------------------------------------------------------------- /P2684.kt: -------------------------------------------------------------------------------- 1 | 2684/solution.kt -------------------------------------------------------------------------------- /P2712.kt: -------------------------------------------------------------------------------- 1 | 2712/solution.kt -------------------------------------------------------------------------------- /P2718.kt: -------------------------------------------------------------------------------- 1 | 2718/solution.kt -------------------------------------------------------------------------------- /P2740.kt: -------------------------------------------------------------------------------- 1 | 2740/solution.kt -------------------------------------------------------------------------------- /P2757.js: -------------------------------------------------------------------------------- 1 | 2757/solution.js -------------------------------------------------------------------------------- /P2812.kt: -------------------------------------------------------------------------------- 1 | 2812/solution.kt -------------------------------------------------------------------------------- /P2869.kt: -------------------------------------------------------------------------------- 1 | 2869/solution.kt -------------------------------------------------------------------------------- /P2875.py: -------------------------------------------------------------------------------- 1 | 2875/solution.py -------------------------------------------------------------------------------- /P2896.py: -------------------------------------------------------------------------------- 1 | 2896/solution.py -------------------------------------------------------------------------------- /P2920.kt: -------------------------------------------------------------------------------- 1 | 2920/solution.kt -------------------------------------------------------------------------------- /P2929.kt: -------------------------------------------------------------------------------- 1 | 2929/solution.kt -------------------------------------------------------------------------------- /P2992.kt: -------------------------------------------------------------------------------- 1 | 2992/solution.kt -------------------------------------------------------------------------------- /P3062.kt: -------------------------------------------------------------------------------- 1 | 3062/solution.kt -------------------------------------------------------------------------------- /P3181.kt: -------------------------------------------------------------------------------- 1 | 3181/solution.kt -------------------------------------------------------------------------------- /P3186.kt: -------------------------------------------------------------------------------- 1 | 3186/solution.kt -------------------------------------------------------------------------------- /P3213.py: -------------------------------------------------------------------------------- 1 | 3213/solution.py -------------------------------------------------------------------------------- /P3273.kt: -------------------------------------------------------------------------------- 1 | 3273/solution.kt -------------------------------------------------------------------------------- /P3372.kt: -------------------------------------------------------------------------------- 1 | 3372/solution.kt -------------------------------------------------------------------------------- /P3447.rs: -------------------------------------------------------------------------------- 1 | 3447/solution.rs -------------------------------------------------------------------------------- /P3863.kt: -------------------------------------------------------------------------------- 1 | 3863/solution.kt -------------------------------------------------------------------------------- /P3991.kt: -------------------------------------------------------------------------------- 1 | 3991/solution.kt -------------------------------------------------------------------------------- /P4101.kt: -------------------------------------------------------------------------------- 1 | 4101/solution.kt -------------------------------------------------------------------------------- /P4320.kt: -------------------------------------------------------------------------------- 1 | 4320/solution.kt -------------------------------------------------------------------------------- /P4378.py: -------------------------------------------------------------------------------- 1 | 4378/solution.py -------------------------------------------------------------------------------- /P4436.kt: -------------------------------------------------------------------------------- 1 | 4436/solution.kt -------------------------------------------------------------------------------- /P4531.kt: -------------------------------------------------------------------------------- 1 | 4531/solution.kt -------------------------------------------------------------------------------- /P4732.py: -------------------------------------------------------------------------------- 1 | 4732/solution.py -------------------------------------------------------------------------------- /P4921.kt: -------------------------------------------------------------------------------- 1 | 4921/solution.kt -------------------------------------------------------------------------------- /P5015.kt: -------------------------------------------------------------------------------- 1 | 5015/solution.kt -------------------------------------------------------------------------------- /P5177.kt: -------------------------------------------------------------------------------- 1 | 5177/solution.kt -------------------------------------------------------------------------------- /P5397.kt: -------------------------------------------------------------------------------- 1 | 5397/solution.kt -------------------------------------------------------------------------------- /P5430.py: -------------------------------------------------------------------------------- 1 | 5430/solution.py -------------------------------------------------------------------------------- /P5597.kt: -------------------------------------------------------------------------------- 1 | 5597/solution.kt -------------------------------------------------------------------------------- /P5639.py: -------------------------------------------------------------------------------- 1 | 5639/solution.py -------------------------------------------------------------------------------- /P5883.kt: -------------------------------------------------------------------------------- 1 | 5883/solution.kt -------------------------------------------------------------------------------- /P6236.rs: -------------------------------------------------------------------------------- 1 | 6236/solution.rs -------------------------------------------------------------------------------- /P6246.kt: -------------------------------------------------------------------------------- 1 | 6246/solution.kt -------------------------------------------------------------------------------- /P6568.py: -------------------------------------------------------------------------------- 1 | 6568/solution.py -------------------------------------------------------------------------------- /P7481.kt: -------------------------------------------------------------------------------- 1 | 7481/solution.kt -------------------------------------------------------------------------------- /P9047.kt: -------------------------------------------------------------------------------- 1 | 9047/solution.kt -------------------------------------------------------------------------------- /P9184.kt: -------------------------------------------------------------------------------- 1 | 9184/solution.kt -------------------------------------------------------------------------------- /P9461.py: -------------------------------------------------------------------------------- 1 | 9461/solution.py -------------------------------------------------------------------------------- /P9625.py: -------------------------------------------------------------------------------- 1 | 9625/solution.py -------------------------------------------------------------------------------- /P9658.kt: -------------------------------------------------------------------------------- 1 | 9658/solution.kt -------------------------------------------------------------------------------- /P9663.kt: -------------------------------------------------------------------------------- 1 | 9663/solution.kt -------------------------------------------------------------------------------- /P9693.py: -------------------------------------------------------------------------------- 1 | 9693/solution.py -------------------------------------------------------------------------------- /P9735.kt: -------------------------------------------------------------------------------- 1 | 9735/solution.kt -------------------------------------------------------------------------------- /P9933.py: -------------------------------------------------------------------------------- 1 | 9933/solution.py -------------------------------------------------------------------------------- /P9946.kt: -------------------------------------------------------------------------------- 1 | 9946/solution.kt -------------------------------------------------------------------------------- /P9996.kt: -------------------------------------------------------------------------------- 1 | 9996/solution.kt -------------------------------------------------------------------------------- /15549/solution.txt: -------------------------------------------------------------------------------- 1 | int -2147483648 -------------------------------------------------------------------------------- /template/rust/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | 3 | } -------------------------------------------------------------------------------- /1373/solution.py: -------------------------------------------------------------------------------- 1 | print(oct(int(input(), 2))[2:]) 2 | -------------------------------------------------------------------------------- /template/python/ii.py: -------------------------------------------------------------------------------- 1 | def ii(): 2 | return int(input()) 3 | -------------------------------------------------------------------------------- /10988/solution.py: -------------------------------------------------------------------------------- 1 | s = input() 2 | print(1 if s == s[-1::-1] else 0) 3 | -------------------------------------------------------------------------------- /17118/solution.rb: -------------------------------------------------------------------------------- 1 | puts (860798509*gets.chomp.to_i+198609463)%1000000007 -------------------------------------------------------------------------------- /18187/tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daily-boj/RanolP/HEAD/18187/tag.png -------------------------------------------------------------------------------- /17946/solution.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | 3 | for _ in range(n): 4 | print(1) 5 | -------------------------------------------------------------------------------- /2019/test/kiwi-self-loop-case.in: -------------------------------------------------------------------------------- 1 | 4 2 | 1 1 1 1 3 | 1 1 2 2 4 | 2 2 3 3 5 | 3 3 1 1 -------------------------------------------------------------------------------- /15550/solution.txt: -------------------------------------------------------------------------------- 1 | long long 9007199254740993 2 | double 9007199254740993 3 | long long 9007199254740992 -------------------------------------------------------------------------------- /1357/solution.py: -------------------------------------------------------------------------------- 1 | a, b = input().split() 2 | s = int(a[-1::-1]) + int(b[-1::-1]) 3 | 4 | print(int(str(s)[-1::-1])) 5 | -------------------------------------------------------------------------------- /template/kotlin/main.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | } 4 | -------------------------------------------------------------------------------- /3165/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-22", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /1034/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-19", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /11000/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-01", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /11060/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-10", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 1 6 | } -------------------------------------------------------------------------------- /11719/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | java.io.BufferedReader(java.io.InputStreamReader(System.`in`)).lines().forEach(::println) 3 | } -------------------------------------------------------------------------------- /11877/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-08", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 9 6 | } -------------------------------------------------------------------------------- /1226/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-05", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /12915/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-13", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 2 6 | } -------------------------------------------------------------------------------- /13294/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-14", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 5 6 | } -------------------------------------------------------------------------------- /13398/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-05", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /1365/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-23", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /13710/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-10", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /14246/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-03", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 8 6 | } -------------------------------------------------------------------------------- /14256/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-24", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /14583/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-27", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 9 6 | } -------------------------------------------------------------------------------- /14629/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-03", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 9 6 | } -------------------------------------------------------------------------------- /14658/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-28", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 12 6 | } -------------------------------------------------------------------------------- /14731/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-01", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 5 6 | } -------------------------------------------------------------------------------- /1504/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-08", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /15501/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-02", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 5 6 | } -------------------------------------------------------------------------------- /15710/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-26", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 8 6 | } -------------------------------------------------------------------------------- /15910/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-02", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 9 6 | } -------------------------------------------------------------------------------- /15966/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-07", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 1 6 | } -------------------------------------------------------------------------------- /15999/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-29", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /16000/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-07", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /16117/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-21", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 2 6 | } -------------------------------------------------------------------------------- /16202/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-05", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 2 6 | } -------------------------------------------------------------------------------- /16457/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-02", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 8 6 | } -------------------------------------------------------------------------------- /1717/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-15", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /17253/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-10", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 8 6 | } -------------------------------------------------------------------------------- /1756/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-29", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /1767/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-06", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /18921/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-06", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 5 6 | } -------------------------------------------------------------------------------- /2002/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-13", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /2093/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-19", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /2103/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-29", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 2 6 | } -------------------------------------------------------------------------------- /2226/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-14", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /2228/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-20", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 9 6 | } -------------------------------------------------------------------------------- /2240/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-02", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /2320/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-09", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /2411/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-10", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 9 6 | } -------------------------------------------------------------------------------- /2469/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-12", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 2 6 | } -------------------------------------------------------------------------------- /2505/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-04", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /2560/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-30", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /2589/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-11", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 12 6 | } -------------------------------------------------------------------------------- /2695/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-25", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /2749/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-01", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /2878/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-07", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /3026/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-03", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /3257/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-21", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 2 6 | } -------------------------------------------------------------------------------- /3709/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-30", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /4375/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-22", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 5 6 | } -------------------------------------------------------------------------------- /5550/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-07", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 2 6 | } -------------------------------------------------------------------------------- /5875/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-21", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /6051/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-04", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /6597/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-04", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 5 6 | } -------------------------------------------------------------------------------- /8911/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-04", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 2 6 | } -------------------------------------------------------------------------------- /9084/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-26", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 6 6 | } -------------------------------------------------------------------------------- /9251/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-11", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } -------------------------------------------------------------------------------- /9694/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-26", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 9 6 | } -------------------------------------------------------------------------------- /18891/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-18", 3 | "status": "in-progress", 4 | "type": "daily-boj", 5 | "order": 3 6 | } 7 | -------------------------------------------------------------------------------- /template/Note.template.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | ## 입력 9 | 10 | ## 풀이 11 | -------------------------------------------------------------------------------- /1041/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-01", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-05-01" 7 | } -------------------------------------------------------------------------------- /10464/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-09", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 6, 6 | "solvedDate": "2020-05-09" 7 | } -------------------------------------------------------------------------------- /10476/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-06", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-07-06" 7 | } -------------------------------------------------------------------------------- /10610/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-27", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-04-28" 7 | } -------------------------------------------------------------------------------- /10799/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-28", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-04-28" 7 | } -------------------------------------------------------------------------------- /10809/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-04", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 6, 6 | "solvedDate": "2020-06-04" 7 | } -------------------------------------------------------------------------------- /1081/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-12", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-06-12" 7 | } -------------------------------------------------------------------------------- /10988/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-30", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-04-30" 7 | } -------------------------------------------------------------------------------- /11053/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-23", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-04-23" 7 | } -------------------------------------------------------------------------------- /11082/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-09", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-05-09" 7 | } -------------------------------------------------------------------------------- /1111/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-06", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-07-06" 7 | } -------------------------------------------------------------------------------- /11285/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-25", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-04-25" 7 | } -------------------------------------------------------------------------------- /11403/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-05", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 8, 6 | "solvedDate": "2020-06-07" 7 | } -------------------------------------------------------------------------------- /11441/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-07", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-05-07" 7 | } -------------------------------------------------------------------------------- /11508/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-26", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-05-26" 7 | } -------------------------------------------------------------------------------- /1157/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-04", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-06-04" 7 | } -------------------------------------------------------------------------------- /11650/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-05", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-06-05" 7 | } -------------------------------------------------------------------------------- /11663/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-01", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-06-01" 7 | } -------------------------------------------------------------------------------- /11719/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-01", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-01" 7 | } -------------------------------------------------------------------------------- /11723/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-08", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-08" 7 | } -------------------------------------------------------------------------------- /12090/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-08", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-07-08" 7 | } -------------------------------------------------------------------------------- /1236/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-12", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-12" 7 | } -------------------------------------------------------------------------------- /1253/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-25", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 6, 6 | "solvedDate": "2020-06-25" 7 | } -------------------------------------------------------------------------------- /1276/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-01", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 6, 6 | "solvedDate": "2020-05-01" 7 | } -------------------------------------------------------------------------------- /12779/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-04", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-04" 7 | } -------------------------------------------------------------------------------- /12781/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-15", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-06-15" 7 | } -------------------------------------------------------------------------------- /12789/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-19", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-06-19" 7 | } -------------------------------------------------------------------------------- /12919/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-03", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 11, 6 | "solvedDate": "2020-07-03" 7 | } -------------------------------------------------------------------------------- /13023/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-06", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-05-10" 7 | } -------------------------------------------------------------------------------- /13116/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-18", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-06-18" 7 | } -------------------------------------------------------------------------------- /13163/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-23", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-06-23" 7 | } -------------------------------------------------------------------------------- /1331/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-12", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-05-12" 7 | } -------------------------------------------------------------------------------- /13414/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-06", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-05-06" 7 | } -------------------------------------------------------------------------------- /1357/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-24", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-04-24" 7 | } -------------------------------------------------------------------------------- /13699/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-08", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 8, 6 | "solvedDate": "2020-07-08" 7 | } -------------------------------------------------------------------------------- /14400/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-10", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-07-10" 7 | } -------------------------------------------------------------------------------- /14405/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-11", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-11" 7 | } -------------------------------------------------------------------------------- /14491/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-22", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-05-22" 7 | } -------------------------------------------------------------------------------- /14563/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-21", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-21" 7 | } -------------------------------------------------------------------------------- /14581/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-10", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-06-10" 7 | } -------------------------------------------------------------------------------- /14585/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-29", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-04-29" 7 | } -------------------------------------------------------------------------------- /1459/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-29", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-29" 7 | } -------------------------------------------------------------------------------- /14594/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-08", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-05-08" 7 | } -------------------------------------------------------------------------------- /14659/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-20", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-05-20" 7 | } -------------------------------------------------------------------------------- /14715/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-24", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-04-24" 7 | } -------------------------------------------------------------------------------- /14929/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-29", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-29" 7 | } -------------------------------------------------------------------------------- /15549/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-02", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-07-02" 7 | } -------------------------------------------------------------------------------- /15550/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-03", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 12, 6 | "solvedDate": "2020-07-03" 7 | } -------------------------------------------------------------------------------- /15565/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-30", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-06-30" 7 | } -------------------------------------------------------------------------------- /1562/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-16", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-06-20" 7 | } -------------------------------------------------------------------------------- /1564/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-04", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-05-04" 7 | } -------------------------------------------------------------------------------- /15649/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-30", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-04-30" 7 | } -------------------------------------------------------------------------------- /15720/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-03", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-06-03" 7 | } -------------------------------------------------------------------------------- /15724/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-20", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 8, 6 | "solvedDate": "2020-05-20" 7 | } -------------------------------------------------------------------------------- /15810/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-24", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-06-24" 7 | } -------------------------------------------------------------------------------- /15922/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-07", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-05-07" 7 | } -------------------------------------------------------------------------------- /1599/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-12", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 6, 6 | "solvedDate": "2020-05-12" 7 | } -------------------------------------------------------------------------------- /16112/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-16", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 6, 6 | "solvedDate": "2020-06-16" 7 | } -------------------------------------------------------------------------------- /16205/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-17", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 8, 6 | "solvedDate": "2020-06-17" 7 | } -------------------------------------------------------------------------------- /1629/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-05", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 9, 6 | "solvedDate": "2020-06-05" 7 | } -------------------------------------------------------------------------------- /16433/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-04", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-04" 7 | } -------------------------------------------------------------------------------- /16439/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-12", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-05-12" 7 | } -------------------------------------------------------------------------------- /16456/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-02", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 8, 6 | "solvedDate": "2020-05-02" 7 | } -------------------------------------------------------------------------------- /16478/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-27", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-05-27" 7 | } -------------------------------------------------------------------------------- /16497/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-28", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 10, 6 | "solvedDate": "2020-05-28" 7 | } -------------------------------------------------------------------------------- /1654/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-23", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-04-23" 7 | } -------------------------------------------------------------------------------- /1689/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-18", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-06-20" 7 | } -------------------------------------------------------------------------------- /16916/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-08", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-05-08" 7 | } -------------------------------------------------------------------------------- /16953/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-23", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-06-23" 7 | } -------------------------------------------------------------------------------- /1709/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-27", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 8, 6 | "solvedDate": "2020-05-27" 7 | } -------------------------------------------------------------------------------- /17118/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-12", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-07-12" 7 | } -------------------------------------------------------------------------------- /17174/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-15", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-15" 7 | } -------------------------------------------------------------------------------- /17245/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-02", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-05-02" 7 | } -------------------------------------------------------------------------------- /17247/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-23", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-04-23" 7 | } -------------------------------------------------------------------------------- /17249/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-19", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-05-19" 7 | } -------------------------------------------------------------------------------- /17294/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-30", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-30" 7 | } -------------------------------------------------------------------------------- /17362/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-03", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 10, 6 | "solvedDate": "2020-07-03" 7 | } -------------------------------------------------------------------------------- /17413/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-05", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-05-05" 7 | } -------------------------------------------------------------------------------- /17478/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-07", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-07" 7 | } -------------------------------------------------------------------------------- /17499/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-19", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-05-19" 7 | } -------------------------------------------------------------------------------- /17615/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-25", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-05-25" 7 | } -------------------------------------------------------------------------------- /17829/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-25", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-06-25" 7 | } -------------------------------------------------------------------------------- /1790/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-24", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-04-24" 7 | } -------------------------------------------------------------------------------- /17946/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-06", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-06" 7 | } -------------------------------------------------------------------------------- /17950/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-25", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-25" 7 | } -------------------------------------------------------------------------------- /18187/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-25", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-04-25" 7 | } -------------------------------------------------------------------------------- /18221/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-14", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-14" 7 | } -------------------------------------------------------------------------------- /1834/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-18", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-05-18" 7 | } -------------------------------------------------------------------------------- /18512/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-05", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-05-10" 7 | } -------------------------------------------------------------------------------- /18765/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-06", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-07" 7 | } -------------------------------------------------------------------------------- /18868/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-16", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-06-16" 7 | } -------------------------------------------------------------------------------- /18870/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-11", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-05-11" 7 | } -------------------------------------------------------------------------------- /1916/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-18", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-05-18" 7 | } -------------------------------------------------------------------------------- /1964/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-13", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-05-13" 7 | } -------------------------------------------------------------------------------- /1992/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-25", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-04-25" 7 | } -------------------------------------------------------------------------------- /2011/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-15", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-05-15" 7 | } -------------------------------------------------------------------------------- /2028/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-08", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-08" 7 | } -------------------------------------------------------------------------------- /2033/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-07", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-07-07" 7 | } -------------------------------------------------------------------------------- /2097/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-26", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 7, 6 | "solvedDate": "2020-06-26" 7 | } -------------------------------------------------------------------------------- /2133/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-13", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 8, 6 | "solvedDate": "2020-05-13" 7 | } -------------------------------------------------------------------------------- /2386/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-25", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-06-25" 7 | } -------------------------------------------------------------------------------- /2410/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-17", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 10, 6 | "solvedDate": "2020-06-17" 7 | } -------------------------------------------------------------------------------- /2493/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-13", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 9, 6 | "solvedDate": "2020-05-13" 7 | } -------------------------------------------------------------------------------- /2502/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-09", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 11, 6 | "solvedDate": "2020-07-09" 7 | } -------------------------------------------------------------------------------- /2504/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-27", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-04-27" 7 | } -------------------------------------------------------------------------------- /2529/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-18", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-05-18" 7 | } -------------------------------------------------------------------------------- /2546/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-09", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 10, 6 | "solvedDate": "2020-07-09" 7 | } -------------------------------------------------------------------------------- /2622/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-09", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-05-09" 7 | } -------------------------------------------------------------------------------- /2684/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-09", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-06-09" 7 | } -------------------------------------------------------------------------------- /2718/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-14", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-05-14" 7 | } -------------------------------------------------------------------------------- /2740/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-01", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-07-01" 7 | } -------------------------------------------------------------------------------- /2757/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-28", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-04-28" 7 | } -------------------------------------------------------------------------------- /2812/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-02", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 9, 6 | "solvedDate": "2020-05-03" 7 | } -------------------------------------------------------------------------------- /2869/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-01", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-05-01" 7 | } -------------------------------------------------------------------------------- /2896/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-29", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-04-29" 7 | } -------------------------------------------------------------------------------- /2920/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-04", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-06-04" 7 | } -------------------------------------------------------------------------------- /2992/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-11", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 11, 6 | "solvedDate": "2020-06-11" 7 | } -------------------------------------------------------------------------------- /3062/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-11", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 10, 6 | "solvedDate": "2020-06-11" 7 | } -------------------------------------------------------------------------------- /3181/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-26", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-05-26" 7 | } -------------------------------------------------------------------------------- /3186/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-29", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-06-29" 7 | } -------------------------------------------------------------------------------- /3273/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-09", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-06-09" 7 | } -------------------------------------------------------------------------------- /3372/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-07", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 5, 6 | "solvedDate": "2020-07-07" 7 | } -------------------------------------------------------------------------------- /4101/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-22", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-22" 7 | } -------------------------------------------------------------------------------- /4320/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-15", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-06-15" 7 | } -------------------------------------------------------------------------------- /4436/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-19", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-06-19" 7 | } -------------------------------------------------------------------------------- /4531/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-27", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-04-27" 7 | } -------------------------------------------------------------------------------- /4732/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-28", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-04-28" 7 | } -------------------------------------------------------------------------------- /4921/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-28", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 11, 6 | "solvedDate": "2020-05-28" 7 | } -------------------------------------------------------------------------------- /5015/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-09", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 12, 6 | "solvedDate": "2020-07-09" 7 | } -------------------------------------------------------------------------------- /5177/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-17", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 9, 6 | "solvedDate": "2020-06-17" 7 | } -------------------------------------------------------------------------------- /5397/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-08", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-06-08" 7 | } -------------------------------------------------------------------------------- /5430/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-29", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-04-29" 7 | } -------------------------------------------------------------------------------- /5597/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-18", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-18" 7 | } -------------------------------------------------------------------------------- /5883/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-14", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-05-14" 7 | } -------------------------------------------------------------------------------- /6246/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-02", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-06-02" 7 | } -------------------------------------------------------------------------------- /6568/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-04", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-05-04" 7 | } -------------------------------------------------------------------------------- /7481/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-10", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-07-10" 7 | } -------------------------------------------------------------------------------- /9047/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-06", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-07-06" 7 | } -------------------------------------------------------------------------------- /9184/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-22", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-06-22" 7 | } -------------------------------------------------------------------------------- /9658/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-22", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 6, 6 | "solvedDate": "2020-05-22" 7 | } -------------------------------------------------------------------------------- /9663/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-15", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 6, 6 | "solvedDate": "2020-05-17" 7 | } -------------------------------------------------------------------------------- /9735/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-15", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-06-15" 7 | } -------------------------------------------------------------------------------- /9946/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-06-24", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-06-24" 7 | } -------------------------------------------------------------------------------- /9996/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-05-15", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-05-15" 7 | } -------------------------------------------------------------------------------- /12845/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-05", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-08-05" 7 | } -------------------------------------------------------------------------------- /13915/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-06", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-08-06" 7 | } -------------------------------------------------------------------------------- /14569/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-15", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-07-15" 7 | } -------------------------------------------------------------------------------- /16925/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-04", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-08-04" 7 | } -------------------------------------------------------------------------------- /1964/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val x = readLine()!!.toLong() % 45678L 3 | println((1 + 3 * (x * (x + 1) / 2) + x) % 45678L) 4 | } -------------------------------------------------------------------------------- /2014/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-03", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-08-04" 7 | } -------------------------------------------------------------------------------- /2019/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-21", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 3, 6 | "solvedDate": "2020-04-26" 7 | } 8 | -------------------------------------------------------------------------------- /2712/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-14", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 4, 6 | "solvedDate": "2020-07-14" 7 | } -------------------------------------------------------------------------------- /2929/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-15", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-07-15" 7 | } -------------------------------------------------------------------------------- /3863/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-07-13", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-07-13" 7 | } -------------------------------------------------------------------------------- /3991/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-08-03", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 1, 6 | "solvedDate": "2020-08-03" 7 | } -------------------------------------------------------------------------------- /5639/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-21", 3 | "status": "solved", 4 | "type": "daily-boj", 5 | "order": 2, 6 | "solvedDate": "2020-04-26" 7 | } 8 | -------------------------------------------------------------------------------- /10166/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-08", 3 | "solvedDate": "2020-04-08", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /1043/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-10", 3 | "solvedDate": "2020-04-17", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 3 7 | } 8 | -------------------------------------------------------------------------------- /1058/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-19", 3 | "solvedDate": "2020-04-19", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 3 7 | } 8 | -------------------------------------------------------------------------------- /1068/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-11", 3 | "solvedDate": "2020-04-11", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 3 7 | } 8 | -------------------------------------------------------------------------------- /11047/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-14", 3 | "solvedDate": "2020-04-14", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /11383/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-15", 3 | "solvedDate": "2020-04-15", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /1149/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-12", 3 | "solvedDate": "2020-04-12", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 3 7 | } 8 | -------------------------------------------------------------------------------- /11725/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-20", 3 | "solvedDate": "2020-04-20", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /13301/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-22", 3 | "solvedDate": "2020-04-22", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /1340/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-07", 3 | "solvedDate": "2020-04-07", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /1373/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-11", 3 | "solvedDate": "2020-04-11", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /14648/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-14", 3 | "solvedDate": "2020-04-14", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /15500/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-18", 3 | "solvedDate": "2020-04-18", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /15721/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-21", 3 | "solvedDate": "2020-04-21", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /16510/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-15", 3 | "solvedDate": "2020-04-15", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /1735/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-09", 3 | "solvedDate": "2020-04-09", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /17363/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-16", 3 | "solvedDate": "2020-04-16", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /18111/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-15", 3 | "solvedDate": "2020-04-15", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /18429/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-16", 3 | "solvedDate": "2020-04-16", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 3 7 | } 8 | -------------------------------------------------------------------------------- /1904/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-14", 3 | "solvedDate": "2020-04-14", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 3 7 | } 8 | -------------------------------------------------------------------------------- /1935/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-09", 3 | "solvedDate": "2020-04-09", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /2422/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-10", 3 | "solvedDate": "2020-04-10", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /2435/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-13", 3 | "solvedDate": "2020-04-13", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 3 7 | } 8 | -------------------------------------------------------------------------------- /2491/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-22", 3 | "solvedDate": "2020-04-22", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 3 7 | } 8 | -------------------------------------------------------------------------------- /2508/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-13", 3 | "solvedDate": "2020-04-13", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /2547/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-13", 3 | "solvedDate": "2020-04-13", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /2579/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-22", 3 | "solvedDate": "2020-04-22", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /2606/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-19", 3 | "solvedDate": "2020-04-19", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /2644/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-20", 3 | "solvedDate": "2020-04-20", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 3 7 | } 8 | -------------------------------------------------------------------------------- /2875/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-17", 3 | "solvedDate": "2020-04-17", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /3213/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-11", 3 | "solvedDate": "2020-04-11", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /3447/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-12", 3 | "solvedDate": "2020-04-12", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /4378/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-20", 3 | "solvedDate": "2020-04-20", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /6236/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-10", 3 | "solvedDate": "2020-04-17", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /9461/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-12", 3 | "solvedDate": "2020-04-12", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /9625/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-19", 3 | "solvedDate": "2020-04-19", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /9693/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-16", 3 | "solvedDate": "2020-04-16", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 2 7 | } 8 | -------------------------------------------------------------------------------- /9933/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "createDate": "2020-04-18", 3 | "solvedDate": "2020-04-18", 4 | "status": "solved", 5 | "type": "daily-boj", 6 | "order": 1 7 | } 8 | -------------------------------------------------------------------------------- /10809/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val input = readLine()!! 3 | ('a'..'z').joinToString(" ") { input.indexOf(it).toString() }.let(::println) 4 | } -------------------------------------------------------------------------------- /5597/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) = ((1..30).toSet() - System.`in`.bufferedReader().lineSequence().map { it.toInt() }.toSet()).toList().sorted().forEach(::println) 2 | -------------------------------------------------------------------------------- /10166/solution.py: -------------------------------------------------------------------------------- 1 | d, e = map(int, input().split()) 2 | 3 | seats = set() 4 | 5 | for i in range(d, e + 1): 6 | for j in range(1, i + 1): 7 | seats.add(j / i) 8 | print(len(seats)) -------------------------------------------------------------------------------- /18187/solution.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | 3 | answer = 0 4 | i = 1 5 | for j in range(n + 1): 6 | answer += i 7 | if j % 3 != 0: 8 | i += 1 9 | 10 | print(answer) 11 | -------------------------------------------------------------------------------- /14581/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val name = readLine()!! 3 | println(":fan::fan::fan:") 4 | println(":fan::$name::fan:") 5 | println(":fan::fan::fan:") 6 | } -------------------------------------------------------------------------------- /16456/solution.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | 3 | dp = [1, 1, 1] 4 | for i in range(3, n + 1): 5 | dp.append(dp[i - 3] % 1000000009 + dp[i - 1] % 1000000009) 6 | 7 | print(dp[n] % 1000000009) 8 | -------------------------------------------------------------------------------- /17247/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 두 점의 택시 거리를 구하는 문제입니다. 9 | 10 | ## 풀이 11 | 12 | 문제에 주어진 수식대로 코드를 짜서 계산하면 됩니다. 13 | -------------------------------------------------------------------------------- /2896/solution.py: -------------------------------------------------------------------------------- 1 | a, b, c = map(int, input().split()) 2 | i, j, k = map(int, input().split()) 3 | 4 | uses = min(a / i, b / j, c / k) 5 | 6 | print(a - i * uses, b - j * uses, c - k * uses) 7 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /2875/solution.py: -------------------------------------------------------------------------------- 1 | n, m, k = map(int, input().split()) 2 | 3 | result = 0 4 | while n + m - 3 >= k and n >= 2 and m >= 1: 5 | n -= 2 6 | m -= 1 7 | result += 1 8 | 9 | print(result) 10 | -------------------------------------------------------------------------------- /9625/solution.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | a = 1 3 | b = 0 4 | 5 | while n > 0: 6 | old_a = a 7 | old_b = b 8 | 9 | b += old_a 10 | a = old_b 11 | n -= 1 12 | 13 | print(a, b) 14 | -------------------------------------------------------------------------------- /2869/solution.kt: -------------------------------------------------------------------------------- 1 | import kotlin.math.ceil 2 | 3 | fun main(args: Array) { 4 | val (a, b, v) = readLine()!!.split(" ").map { it.toDouble() } 5 | println(ceil((v - b) / (a - b)).toInt()) 6 | } 7 | -------------------------------------------------------------------------------- /17362/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | val a = (readLine()!!.toInt() - 1) % 8 4 | println(if (a > 4) 9 - a else a+1) 5 | } -------------------------------------------------------------------------------- /14648/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 들어오는 쿼리를 처리하면 됩니다. 9 | 10 | ## 풀이 11 | 12 | 브론즈가 왜 브론즈입니까. 이상한 알고리즘 찾지 말고 구현. 구현입니다. 13 | 배열 인덱스와 쿼리의 차이에 주의하면 됩니다. -------------------------------------------------------------------------------- /1904/solution.py: -------------------------------------------------------------------------------- 1 | prev_prev = 0 2 | prev = 1 3 | n = int(input()) 4 | while n > 0: 5 | temp = prev + prev_prev 6 | prev_prev = prev % 15746 7 | prev = temp % 15746 8 | n -= 1 9 | 10 | print(prev) 11 | -------------------------------------------------------------------------------- /4378/solution.py: -------------------------------------------------------------------------------- 1 | keyboard = " `1234567890-= QWERTYUIOP[]\\ ASDFGHJKL;' ZXCVBNM,./ " 2 | try: 3 | while 1: 4 | print("".join(keyboard[keyboard.find(c) - 1] for c in input())) 5 | except EOFError: 6 | pass 7 | -------------------------------------------------------------------------------- /11383/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 각 문자를 두배 늘렸을 때 같은지 확인하면 됩니다. 9 | 10 | ## 풀이 11 | 12 | 문자 단위로 쪼개고 두 번에 걸쳐 검사하면 됩니다. 13 | 문자열이 여러 줄에 걸쳐있음에 주의합니다. 14 | -------------------------------------------------------------------------------- /11047/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 가진 동전으로 {@ var: k @}원을 만드는데에 필요한 최소 개수를 구하면 됩니다. 9 | 10 | ## 풀이 11 | 12 | 가장 큰 동전부터 차례차례 시도해보며 {@ var: k @}원을 만들면 됩니다. 13 | -------------------------------------------------------------------------------- /11383/solution.py: -------------------------------------------------------------------------------- 1 | (n, _) = map(int, input().split()) 2 | expects = eval('"".join(map(lambda c: c*2, input())),' * n) 3 | reals = eval("input()," * n) 4 | print("Eyfa" if all([expects[i] == reals[i] for i in range(n)]) else "Not Eyfa") 5 | -------------------------------------------------------------------------------- /boj.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "browser": "firefox", 3 | "runtimeOverrides": { 4 | "kotlin": { 5 | "forceRuntime": "Kotlin (JVM)" 6 | }, 7 | "python": { 8 | "forceRuntime": "Python 3" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /1357/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 정수를 뒤집고 더하고 다시 뒤집는 문제입니다. 0에 주의해야 합니다. 9 | 10 | ## 풀이 11 | 12 | 입력받은 문자열을 뒤집고, 정수로 변환합니다. 13 | 둘을 더한 다음, 문자열로 바꾸어 뒤집고 정수로 변환한 다음 출력합니다. -------------------------------------------------------------------------------- /2622/solution.py: -------------------------------------------------------------------------------- 1 | count = int(input()) 2 | 3 | able = 0 4 | 5 | for i in range(1, count // 3 + 1): 6 | for j in range(i, (count - i) // 2 + 1): 7 | if i + j > count - i - j: 8 | able += 1 9 | 10 | print(able) 11 | -------------------------------------------------------------------------------- /1068/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 트리를 구축하고 완전 탐색하는 문제입니다. 9 | 10 | ## 풀이 11 | 12 | 앞에 있는 노드가 뒤에 있는 노드를 부모로 갖거나, 13 | 루트 노드가 여럿 있을 수 있는 점만 간과하지 않으면 완전 탐색으로 쉽게 풀 수 있습니다. 14 | -------------------------------------------------------------------------------- /13301/solution.py: -------------------------------------------------------------------------------- 1 | n = int(input()) - 1 2 | 3 | prev_prev = 0 4 | prev = 1 5 | 6 | while n > 0: 7 | prev_prev_prev, prev_prev, prev = prev_prev, prev, prev_prev + prev 8 | n -= 1 9 | 10 | print(2 * (prev + prev_prev) + prev * 2) 11 | -------------------------------------------------------------------------------- /2504/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 괄호 문자열을 파싱하고, 성공했다면 값을 계산하는 문제입니다. 9 | 10 | ## 풀이 11 | 12 | 재귀 하향 파서recursive descent parser를 짜서 AST를 구축합니다. 13 | 노드별로 계산 함수를 붙여 적절히 연산합니다. -------------------------------------------------------------------------------- /11053/solution.py: -------------------------------------------------------------------------------- 1 | input() 2 | numbers = list(map(int, input().split())) 3 | 4 | dp = [] 5 | 6 | for number in numbers: 7 | dp.append((number, max([x[1] for x in dp if x[0] < number] + [0]) + 1)) 8 | 9 | print(max([x[1] for x in dp])) 10 | -------------------------------------------------------------------------------- /4531/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 로마 숫자를 아라비아 숫자로 변환하는 문제입니다. 9 | 10 | ## 풀이 11 | 12 | Regex를 통해 IX 같은 '-1 문자열'을 미리 치환합니다. 13 | '-1 문자열'을 제외하면 문자에 할당된 값을 더하는 것으로 문제를 해결할 수 있습니다. 14 | -------------------------------------------------------------------------------- /9933/solution.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | words = list(eval("input()," * n)) 3 | words += list(map(lambda s: s[-1::-1], words)) 4 | 5 | for (i, w) in enumerate(words): 6 | if words.count(w) == 2: 7 | print(len(w), w[len(w) // 2]) 8 | break 9 | -------------------------------------------------------------------------------- /11441/solution.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | a = map(int, input().split()) 3 | accu = [0] 4 | for i in a: 5 | accu.append(accu[-1] + i) 6 | 7 | for _ in range(int(input())): 8 | i, j = map(int, input().split()) 9 | print(accu[j] - accu[i - 1]) 10 | -------------------------------------------------------------------------------- /13163/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val n = readLine()!!.toInt() 3 | System.`in`.bufferedReader().lineSequence().take(n).joinToString("\n") { 4 | "god" + it.split(" ").drop(1).joinToString("") 5 | }.let(::println) 6 | } 7 | -------------------------------------------------------------------------------- /16433/solution.py: -------------------------------------------------------------------------------- 1 | n, r, c = map(int, input().split()) 2 | rc = r % 2 == c % 2 3 | 4 | for y in range(n): 5 | print( 6 | "".join( 7 | ["v" if (xy := x % 2 == y % 2, xy == rc)[-1] else "." for x in range(n)] 8 | ) 9 | ) 10 | -------------------------------------------------------------------------------- /1735/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 분수의 덧셈을 하는 문제입니다. 9 | 기약 분수로 출력해야 합니다. 10 | 11 | ## 풀이 12 | 13 | 파이썬 표준 라이브러리에 `Fraction` 이 있습니다. 14 | 정석적인 풀이는 통분한 다음 더하고, 15 | 분모와 분자의 최대공배수를 구해 나누는 것입니다. 16 | -------------------------------------------------------------------------------- /11047/solution.py: -------------------------------------------------------------------------------- 1 | n, k = map(int, input().split()) 2 | 3 | a = eval("int(input())," * n) 4 | 5 | coins = 0 6 | 7 | for i in a[-1::-1]: 8 | if k >= i: 9 | count = k // i 10 | k -= i * count 11 | coins += count 12 | 13 | print(coins) 14 | -------------------------------------------------------------------------------- /4378/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 키보드 오타를 교정하는 문제입니다. 9 | 원래 키보드를 기준으로 한 칸 오른쪽을 칩니다. 10 | 11 | ## 풀이 12 | 13 | 딕셔너리를 만들 수도 있지만 시간이 널널하므로, 14 | 배열 내지는 문자열 인덱싱으로 풀 수도 있습니다. 15 | EOF까지 받아야 함에 주의합니다. 16 | -------------------------------------------------------------------------------- /Repository-Visiting-Guide.md: -------------------------------------------------------------------------------- 1 | # 저장소 방문 가이드 2 | 3 | - 이 저장소는 [@daily-boj](https://github.com/daily-boj)의 일부로, 그 규격을 맞추기 위해 저장소 루트에 `P{문제번호}.{확장자}` 형태로 파일을 남기고 있습니다. 4 | - 문제와 관련 있는 자료들을 한 곳에 모아두기 위해 문제 번호로 폴더를 만든 후, 솔루션만 루트에 심링크합니다. 깃허브에서 심링크를 읽어주지 않으므로 각 문제 번호 폴더에 방문해주세요. 5 | -------------------------------------------------------------------------------- /1629/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | {@ math: A^B \bmod C @}을 빠르게 구하는 문제입니다. 9 | 10 | ## 풀이 11 | 12 | {@ math: A^{2^n} @}를 미리 계산해둡니다. 13 | {@ math: A^m \times A^n = A^{m+n} @}임을 이용해서, 14 | 거듭제곱을 계산합니다. 15 | -------------------------------------------------------------------------------- /12090/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | System.`in`.bufferedReader().readLine().toCharArray().joinToString("") { 4 | "ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ"[(it.toInt() - 44032) / 588].toString() 5 | }.let(::println) 6 | } 7 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/runConfigurations/init.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /10464/solution.py: -------------------------------------------------------------------------------- 1 | t = int(input()) 2 | 3 | for _ in range(t): 4 | s, f = map(int, input().split()) 5 | l = f - s + 1 6 | if s % 2 == 0: 7 | print(((l // 2) % 2) ^ (f if l % 2 else 0)) 8 | else: 9 | print(s ^ (((l - 1) // 2) % 2) ^ (0 if l % 2 else f)) 10 | -------------------------------------------------------------------------------- /18512/solution.py: -------------------------------------------------------------------------------- 1 | x, y, p1, p2 = map(int, input().split()) 2 | 3 | xs = set() 4 | cx = p1 5 | ys = set() 6 | cy = p2 7 | 8 | for _ in range(100_000): 9 | xs.add(cx) 10 | ys.add(cy) 11 | cx += x 12 | cy += y 13 | 14 | i = xs & ys 15 | 16 | print(min(i or [-1])) 17 | -------------------------------------------------------------------------------- /9461/solution.py: -------------------------------------------------------------------------------- 1 | dp = [1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12] 2 | 3 | 4 | def p(n): 5 | if n >= len(dp): 6 | dp.append(p(n - 1) + p(n - 5)) 7 | return dp[n] 8 | 9 | 10 | T = int(input()) 11 | 12 | for _ in range(T): 13 | n = int(input()) 14 | print(p(n - 1)) 15 | -------------------------------------------------------------------------------- /9933/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 뒤집었을 때 중복되는 문자열을 찾는 문제입니다. 9 | 10 | ## 풀이 11 | 12 | 문자열 리스트에 그 리스트의 각 원소를 뒤집은 문자열 리스트를 합칩니다. 13 | 리스트 전체를 순회하며 개수가 2개인 문자열을 찾으면 됩니다. 14 | 가운데 글자를 찾는 것이고, 길이가 홀수이므로 어떤 문자열을 찾아도 상관 없습니다. -------------------------------------------------------------------------------- /.idea/runConfigurations/clean.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /17174/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | var (n, m) = readLine()!!.split(" ").map { it.toInt() } 3 | 4 | var result = 0 5 | 6 | while (n > 0) { 7 | result += n 8 | n /= m 9 | } 10 | 11 | result += n 12 | 13 | println(result) 14 | } -------------------------------------------------------------------------------- /17363/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 문자열을 돌리는 문제입니다. 9 | 특수 문자들도 돌아간 문자로 바꾸어야 합니다. 10 | 11 | ## 풀이 12 | 13 | 문자를 돌아간 문자로 변환한 다음, 14 | 매 줄의 0번 인덱스는 length - 1번에, 1번은 length - 2번에, ...추가하기를 반복합니다. 15 | 문자열을 합쳐서 출력하면 됩니다. 16 | -------------------------------------------------------------------------------- /.idea/runConfigurations/analyze.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /12845/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | 4 | readLine() 5 | val cards = readLine()!!.split(" ").map { it.toInt() }.sorted() 6 | val max = cards.last() 7 | 8 | println(max * (cards.size - 1) + cards.dropLast(1).sum()) 9 | } -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /11285/solution.py: -------------------------------------------------------------------------------- 1 | CHO_MAP = "ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ" 2 | JUNG_MAP = "ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ" 3 | JONG_MAP = " ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ" 4 | 5 | cho = CHO_MAP.index(input()[0]) 6 | jung = JUNG_MAP.index(input()[0]) 7 | jong = JONG_MAP.index(input() or " ") 8 | print(chr(ord("가") + cho * 588 + jung * 28 + jong)) 9 | -------------------------------------------------------------------------------- /3447/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | `BUG` 문자열을 지우는 문제입니다. 9 | `BUBUGG` 나 `BBUGUG` 같이 BUG 안 BUG가 사라지는 경우도 처리해야 합니다. 10 | 11 | ## 풀이 12 | 13 | 스택에 문자를 쌓습니다. 14 | 현재 문자가 `G`이고 뒤 문자가 `U`, 뒤뒤 문자가 `B`라면 3개를 모두 pop합니다. 15 | 이후 문자를 전부 합쳐서 출력합니다. 16 | -------------------------------------------------------------------------------- /14715/solution.py: -------------------------------------------------------------------------------- 1 | from math import ceil, log2 2 | 3 | k = int(input()) 4 | 5 | prime_factors = 0 6 | 7 | for i in range(2, k): 8 | if k < i: 9 | break 10 | while k % i == 0: 11 | k //= i 12 | prime_factors += 1 13 | 14 | print(prime_factors and ceil(log2(prime_factors))) 15 | -------------------------------------------------------------------------------- /14929/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | readLine() 3 | val x = readLine()!!.split(" ").map { it.toLong() } 4 | var answer: Long = 0 5 | var sum: Long = 0 6 | for (i in x.reversed()) { 7 | answer += i*sum 8 | sum += i 9 | } 10 | println(answer) 11 | } -------------------------------------------------------------------------------- /.idea/runConfigurations/update_readme.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.idea/runConfigurations/update_symlink.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /17118/evaluate_sigma.py: -------------------------------------------------------------------------------- 1 | s = 0 2 | p = 1000000007 3 | a = 860798509 4 | b = 198609463 5 | base = 1 6 | 7 | for i in range(0, p): 8 | s = (s + base) % p 9 | base = (base * a) % p 10 | if i % 1000000 == 0: 11 | print(s, "%.2f%% done" % (i / p * 100)) 12 | 13 | print((b * s) % p) 14 | -------------------------------------------------------------------------------- /3213/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 피자를 `3/4`, `1/2`, `1/4` 조각을 먹는데, '한 조각'으로 붙어 있어야 합니다. 9 | 10 | ## 풀이 11 | 12 | - `3/4` 1개가 있다면 `1/4` 1개 하고 결합합니다. 13 | - `1/2` 1개가 있다면 `1/2` 1개 혹은 `1/4` 2개와 결합합니다. 14 | - 이후 결합하지 않은 `1/4` 은 같은 `1/4` 3개와 결합합니다. 15 | -------------------------------------------------------------------------------- /1373/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 2진수를 8진수로 바꾸는 간단한 문제입니다. 9 | 10 | ## 풀이 11 | 12 | {@ math: 2^1000000 @}은 상당히 큽니다. 13 | Python에선 잘 다룰 수 있지만 다른 언어에서는 새로운 접근 방법이 필요합니다. 14 | 팔진수 한 자리는 이진수 네 자리와 동치로 나타내집니다. 15 | 이진수를 네 자리 묶음으로 나타내 묶음별로 변환을 진행하면 됩니다. 16 | -------------------------------------------------------------------------------- /11508/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | List(readLine()!!.toInt()) { 3 | readLine()!!.toInt() 4 | }.sortedDescending().chunked(3).sumBy { 5 | if (it.size == 3) { 6 | it[0] + it[1] 7 | } else { 8 | it.sum() 9 | } 10 | }.let(::println) 11 | } -------------------------------------------------------------------------------- /13414/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val map = mutableMapOf() 3 | val (k, l) = readLine()!!.split(" ").map { it.toInt() } 4 | repeat(l) { 5 | map[readLine()!!] = it 6 | } 7 | map.entries.asSequence().sortedBy { it.value }.take(k).joinToString("\n") { it.key }.let(::println) 8 | } -------------------------------------------------------------------------------- /14594/solution.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | 3 | available = (0b1 << (n - 1)) - 1 4 | 5 | for _ in range(int(input())): 6 | x, y = map(int, input().split()) 7 | l = y - x 8 | bit = (0b1 << l) - 1 9 | bit = bit << (x - 1) 10 | available &= ~bit 11 | 12 | print(sum(1 for c in bin(available)[2:] if c == "1") + 1) 13 | -------------------------------------------------------------------------------- /1935/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 변수가 있는 후위 표기식을 계산하는 문제입니다. 9 | 10 | ### 입력 11 | 12 | 변수가 있습니다. `HashMap`을 사용할 수도 있지만, 13 | `'A'` 에서 `'Z'` 범위이므로 `'A'` 값을 빼면 배열에 넣을 수 있습니다. 14 | 15 | ### 풀이 16 | 17 | 후위 표기식은 스택으로 풀 수 있습니다. 18 | 좌항과 우항만 잘 구별하면 쉽게 풀 수 있습니다. 19 | -------------------------------------------------------------------------------- /2435/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 길이가 {@ var: n @}인 수열이 주어졌을 때, 9 | 연속적인 {@ var: k @}개의 원소를 더한 값 중 가장 큰 값을 구하는 문제입니다. 10 | 11 | ## 풀이 12 | 13 | 현재까지 나온 값 중 최대 값과 이전 합을 저장합니다. 14 | 이전 합의 가장 첫 값을 빼고 지금 값을 더하면 새로운 합이 나옵니다. 15 | 최대 값과 비교해서 저장하고, 이전 값에 저장하면 됩니다. 16 | -------------------------------------------------------------------------------- /9461/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 가장 안쪽부터 삼각형을 가장 긴 변에 붙여가며 도형을 만들어 나갑니다. 9 | 10 | ## 풀이 11 | 12 | 점화식은 다음과 같습니다. 13 | 14 | {@ math: P(n) = P(n - 1) + P(n - 5) @} 15 | 16 | 문제에 앞 10개의 값이 주어져 있으므로 {@ math: n - 5 @}가 나오지 않을 일은 없습니다. 17 | DP 배열을 하나 만들고 재귀로 풀면 됩니다. 18 | -------------------------------------------------------------------------------- /2028/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | List(readLine()!!.toInt()) { 3 | val nstr = readLine()!! 4 | val n = nstr.toInt() 5 | if ((n * n).toString().endsWith(nstr)) { 6 | "YES" 7 | } else { 8 | "NO" 9 | } 10 | }.joinToString("\n").let(::println) 11 | } -------------------------------------------------------------------------------- /2435/solution.py: -------------------------------------------------------------------------------- 1 | _, k = map(int, input().split()) 2 | temperatures = list(map(int, input().split())) 3 | 4 | max = sum(temperatures[:k]) 5 | prev = max 6 | 7 | for (i, n) in enumerate(temperatures[k:]): 8 | curr = prev - temperatures[i] + n 9 | if curr > max: 10 | max = curr 11 | prev = curr 12 | 13 | print(max) 14 | -------------------------------------------------------------------------------- /16510/solution.py: -------------------------------------------------------------------------------- 1 | from bisect import bisect_right 2 | 3 | _, count = map(int, input().split()) 4 | t = list(map(int, input().split())) 5 | dp = [] 6 | for i in t: 7 | if len(dp) == 0: 8 | dp.append(i) 9 | else: 10 | dp.append(i + dp[-1]) 11 | for i in eval("int(input())," * count): 12 | print(bisect_right(dp, i)) 13 | -------------------------------------------------------------------------------- /2508/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 아래 두 경우에 맞는 문자열의 개수를 세면 됩니다. 9 | 10 | ```text 11 | v 12 | o >o< 13 | ^ 14 | ``` 15 | 16 | 아래와 같은 입력은 없습니다. 17 | 18 | ```text 19 | v 20 | >o< 21 | ^ 22 | ``` 23 | 24 | ## 풀이 25 | 26 | `o`가 등장할 때마다 상하좌우를 비교해 맞는지 확인합니다. 27 | `o`의 위치에 따라 상하좌우 접근이 될 수 없음에 주의합니다. 28 | -------------------------------------------------------------------------------- /9658/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val n = readLine()!!.toInt() 3 | val dp = mutableListOf(false, false, true, false, true, true) 4 | for (i in 6..n) { 5 | dp.add(!dp[i - 1] || !dp[i - 3] || !dp[i - 4]) 6 | } 7 | if (dp[n]) { 8 | println("SK") 9 | } else { 10 | println("CY") 11 | } 12 | } -------------------------------------------------------------------------------- /9625/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 처음엔 `A`만 있고, 버튼을 누를 때 `A`는 `B`로, `B`는 `BA`로 바뀌는 기계가 있습니다. 9 | 버튼을 {@ var: n @}번 눌렀을 때 `A`와 `B`의 개수를 각각 구하면 됩니다. 10 | 11 | ## 풀이 12 | 13 | `A`는 `이전 B 개수`와 같고, `B`는 `이전 A 개수 + 이전 B 개수`입니다. 14 | `K`가 작기 때문에 {@ math: O(1) @}을 만들어도 나쁘지는 않지만... 15 | 16 | ~~~pirim 17 | "db" 18 | ~~~ -------------------------------------------------------------------------------- /.idea/RanolP.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /10610/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val input = readLine()!! 3 | val hasZero = input.any { it == '0' } 4 | val sumModThreeIsZero = input.sumBy { it.toInt() } % 3 == 0 5 | if (!hasZero || !sumModThreeIsZero) { 6 | println("-1") 7 | } else { 8 | println(input.toCharArray().sortedDescending().joinToString("")) 9 | } 10 | } -------------------------------------------------------------------------------- /11285/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 입력된 초성, 중성, 종성으로 음절을 만듭니다. 한글 처리에 주의해야 합니다. 9 | 10 | ## 풀이 11 | 12 | 한글은 유니코드 상에서 규칙적으로 배열되어 있습니다. 13 | 종성이 총 28개(빈 종성 포함)이므로 28개마다 중성이 바뀌며, 14 | 중성은 총 21개이므로 21 × 28 = 588개마다 초성이 바뀝니다. 15 | 가장 처음 소리인 '가'(`U+AC00`)을 기준으로, 16 | (초성 번호) × 588 + (중성 번호) × 28 + (종성 번호)를 더하면 음절이 완성됩니다. 17 | -------------------------------------------------------------------------------- /2547/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | {@ math: A_0, A_1, \cdots, A_{n - 1}, A_n @}를 전부 더하고 {@ var: n @}으로 나누는 문제입니다. 9 | 10 | ## 입력 11 | 12 | T, (빈줄, N, Ai × n) × T입니다. 빈줄에 주의할 필요가 있습니다. 13 | 14 | ## 풀이 15 | 16 | {@ math: a + b \bmod c \equiv (a \bmod c) + (b \bmod c) \bmod c @}입니다. 17 | 매 덧셈마다 mod를 수행하면 됩니다. 18 | -------------------------------------------------------------------------------- /17247/solution.py: -------------------------------------------------------------------------------- 1 | height, _ = map(int, input().split()) 2 | 3 | pos1 = None 4 | pos2 = None 5 | 6 | for y in range(height): 7 | for (x, i) in enumerate(input().split()): 8 | if i == "1": 9 | if pos1 is None: 10 | pos1 = (x, y) 11 | else: 12 | pos2 = (x, y) 13 | 14 | print(abs(pos1[0] - pos2[0]) + abs(pos1[1] - pos2[1])) 15 | -------------------------------------------------------------------------------- /2097/solution.kt: -------------------------------------------------------------------------------- 1 | import kotlin.math.* 2 | 3 | fun main(args: Array) { 4 | val n = readLine()!!.toInt() 5 | 6 | val min = (1..Math.ceil(sqrt(n.toDouble())).toInt()).map { 7 | 2 * it + 2 * Math.ceil(n / it.toDouble()).toInt() - 4 8 | }.min()!! 9 | 10 | if (min < 4) { 11 | println(4) 12 | } else { 13 | println(min) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /16510/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 일의 개수 {@ var: n @}과 테스트케이스의 수 {@ var: m @}이 주어지고 9 | 각 일에 들어가는 시간들이 주어질 때, {@ var: T @}만큼 시간이 있다면, 10 | 앞에서부터 몇 개의 일을 마칠 수 있는지 구하는 문제입니다. 11 | 12 | ## 풀이 13 | 14 | 지금 일을 끝내려면 앞 일을 끝내야 하므로, 15 | 앞 일을 처리하는 데에 걸린 시간 + 지금 일에 걸리는 시간이 있어야 지금 일을 처리할 수 있습니다. 16 | 이렇게 앞부터 하나하나 누적합을 구한 다음, T를 이진 탐색하면 됩니다. 17 | -------------------------------------------------------------------------------- /2386/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | System.`in` 3 | .bufferedReader() 4 | .lineSequence() 5 | .takeWhile { it != "#" } 6 | .joinToString("\n") { 7 | val toCheck = it[0] 8 | val count = it.drop(2).filter { it.toLowerCase() == toCheck }.count() 9 | "$toCheck $count" 10 | } 11 | .let(::println) 12 | } -------------------------------------------------------------------------------- /13699/solution.kt: -------------------------------------------------------------------------------- 1 | import java.math.BigInteger 2 | 3 | fun main() { 4 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 5 | 6 | val n = readLine()!!.toInt() 7 | 8 | val dp = mutableListOf(BigInteger.ONE) 9 | 10 | for (i in 1..n) { 11 | dp.add((1..i).map { dp[it - 1] * dp[i - it] }.reduce { acc, curr -> acc + curr }) 12 | } 13 | 14 | println(dp[n]) 15 | } 16 | -------------------------------------------------------------------------------- /15721/solution.py: -------------------------------------------------------------------------------- 1 | people = int(input()) 2 | t = int(input()) 3 | bbeon_degi_type = int(input()) 4 | 5 | lap = 0 6 | index = 0 7 | while t > 0: 8 | for element in [0, 1, 0, 1] + [0] * (2 + lap) + [1] * (2 + lap): 9 | if element == bbeon_degi_type: 10 | t -= 1 11 | if t <= 0: 12 | break 13 | index += 1 14 | lap += 1 15 | 16 | print(index % people) 17 | -------------------------------------------------------------------------------- /3181/solution.kt: -------------------------------------------------------------------------------- 1 | val ignores = listOf("i", "pa", "te", "ni", "niti", "a", "ali", "nego", "no", "ili") 2 | 3 | fun main(args: Array) { 4 | readLine()!!.split(" ").withIndex().mapNotNull { (i, word) -> 5 | if (i != 0 && word in ignores) { 6 | null 7 | } else { 8 | word[0].toUpperCase().toString() 9 | } 10 | }.joinToString("").let(::println) 11 | } -------------------------------------------------------------------------------- /9996/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val n = readLine()!!.toInt() 3 | val (begin, end) = readLine()!!.split("*") 4 | repeat(n) { 5 | val line = readLine()!! 6 | if (line.length >= begin.length + end.length && line.startsWith(begin) && line.endsWith(end)) { 7 | println("DA") 8 | } else { 9 | println("NE") 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /15565/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | val (n, k) = readLine()!!.split(" ").map { it.toInt() } 4 | val dolls = readLine()!!.split(" ").withIndex().mapNotNull { (i, v) -> if (v == "1") i else null } 5 | val min = (0 until dolls.size - k + 1).map { dolls[it + k - 1] - dolls[it] + 1 }.min() ?: -1 6 | println(min) 7 | } 8 | -------------------------------------------------------------------------------- /2547/solution.py: -------------------------------------------------------------------------------- 1 | t = int(input()) 2 | input() 3 | 4 | while t > 0: 5 | curr = 0 6 | n = int(input()) 7 | while 1: 8 | try: 9 | i = input() 10 | if i.isdigit(): 11 | curr += int(i) % n 12 | else: 13 | break 14 | except EOFError: 15 | break 16 | print("YES" if curr % n == 0 else "NO") 17 | 18 | t -= 1 19 | -------------------------------------------------------------------------------- /1564/solution.py: -------------------------------------------------------------------------------- 1 | memo = [1] 2 | 3 | n = int(input()) 4 | 5 | prev = 1 6 | 7 | for i in range(1, n + 1): 8 | while i % 10 == 0: 9 | i //= 10 10 | while prev % 2 == 0 and i % 5 == 0: 11 | prev //= 2 12 | i //= 5 13 | while prev % 5 == 0 and i % 2 == 0: 14 | prev //= 5 15 | i //= 2 16 | prev = (prev * i) % 1000000000000 17 | 18 | print(str(prev % 100000).zfill(5)) 19 | -------------------------------------------------------------------------------- /2422/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | {@ var: N @}은 작지만 {@ var: M @}은 큽니다. 9 | 가능하면 {@ var: N @} 쪽으로 뚫는 쪽이 좋을 것 같습니다. 10 | 11 | ## 풀이 12 | 13 | ({@ var: a @}, {@ var: b @}, {@ var: c @}) 조합에서, 14 | {@ var: a @} < {@ var: b @} < {@ var: c @}가 보장되면 편해집니다. 15 | 중복 조합은 `Map>`에 넣어두고, 16 | 작은 것부터 겹치나 안 겹치나 확인합니다. 17 | {@ math: O(n^3m) @}으로 풀었습니다. 18 | -------------------------------------------------------------------------------- /4101/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | System.`in` 3 | .bufferedReader() 4 | .lineSequence() 5 | .takeWhile { it != "0 0" } 6 | .joinToString("\n") { 7 | val (a, b) = it.split(" ").map { it.toInt() } 8 | if (a > b) { 9 | "Yes" 10 | } else { 11 | "No" 12 | } 13 | }.let(::println) 14 | } -------------------------------------------------------------------------------- /17249/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | var left = 0 3 | var right = 0 4 | var metFace = false 5 | for (c in readLine()!!) { 6 | when (c) { 7 | '0' -> metFace = true 8 | '@' -> if (!metFace) { 9 | left += 1 10 | } else { 11 | right += 1 12 | } 13 | } 14 | } 15 | println("$left $right") 16 | } -------------------------------------------------------------------------------- /1340/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 연, 월, 일, 시, 분을 받아서 연도 진행률을 구하는 문제입니다. 9 | 10 | ## 입력 11 | 12 | 예제 입력을 보면 규격이 다음과 같은데, 파싱이 귀찮아보입니다. 13 | 14 | ```text 15 | May 10, 1981 00:31 16 | ``` 17 | 18 | Python 내장 모듈 `re` 를 사용해 파싱을 진행했습니다. 19 | 20 | ## 풀이 21 | 22 | 문제 본문에 나와있듯 윤년을 고려해가며 보낸 날 수를 셉니다. 23 | 이번 달과 오늘은 아직 완전히 지나가지 않았으므로 1을 빼야합니다. 24 | 그리고 시간, 분을 적절한 상수로 나누고 더하면 끝. 25 | -------------------------------------------------------------------------------- /13915/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | 4 | val lines = System.`in`.bufferedReader().readLines().iterator() 5 | while (lines.hasNext()) { 6 | val count = lines.next().toInt() 7 | val list = List(count) { 8 | lines.next().toCharArray().distinct().sorted() 9 | }.distinct() 10 | 11 | println(list.size) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /2033/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | 4 | var n = readLine()!!.toInt() 5 | var check = 10 6 | while (n > check) { 7 | if (n % check < check / 10 * 5) { 8 | n -= n % check 9 | } else { 10 | n = n - (n % check) + check 11 | } 12 | check *= 10 13 | } 14 | 15 | println(n) 16 | } 17 | -------------------------------------------------------------------------------- /2929/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | 4 | var answer = 0 5 | var before = 0 6 | for (c in readLine()!!) { 7 | if (c.isUpperCase()) { 8 | val toAdd = (4 - before % 4) % 4 9 | answer += toAdd 10 | before = 1 11 | } else { 12 | before += 1 13 | } 14 | } 15 | 16 | println(answer) 17 | } 18 | -------------------------------------------------------------------------------- /3062/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | repeat(readLine()!!.toInt()) { 3 | val nstr = readLine()!! 4 | val sum = (nstr.toInt() + nstr.reversed().toInt()).toString() 5 | for (i in 0 until (sum.length / 2 + 1)) { 6 | if (sum[i] != sum[sum.length - i - 1]) { 7 | println("NO") 8 | return@repeat 9 | } 10 | } 11 | println("YES") 12 | } 13 | } -------------------------------------------------------------------------------- /1735/solution.py: -------------------------------------------------------------------------------- 1 | from fractions import Fraction 2 | 3 | numerator_a, denominator_a = map(int, input().split()) 4 | numerator_b, denominator_b = map(int, input().split()) 5 | 6 | numerator_result, denominator_result = Fraction( 7 | numerator=numerator_a * denominator_b + numerator_b * denominator_a, 8 | denominator=denominator_a * denominator_b, 9 | _normalize=True 10 | ).as_integer_ratio() 11 | 12 | print(numerator_result, denominator_result) -------------------------------------------------------------------------------- /17363/solution.py: -------------------------------------------------------------------------------- 1 | replace = lambda c: { 2 | "-": "|", 3 | "|": "-", 4 | "/": "\\", 5 | "\\": "/", 6 | "^": "<", 7 | "<": "v", 8 | "v": ">", 9 | ">": "^", 10 | }.get(c, c) 11 | [ 12 | print(x) 13 | for x in reversed( 14 | [ 15 | *map( 16 | lambda *a: "".join(a), 17 | *eval("map(replace, input())," * int(input().split()[0])), 18 | ) 19 | ] 20 | ) 21 | ] 22 | -------------------------------------------------------------------------------- /template/cpp/main.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using i64 = long long; 5 | using u64 = unsigned long long; 6 | 7 | #define newl '\n'; 8 | 9 | void real_main(); 10 | 11 | int main() 12 | { 13 | std::cin.tie(nullptr); 14 | std::ios_base::sync_with_stdio(false); 15 | 16 | real_main(); 17 | 18 | std::cout.flush(); 19 | return EXIT_SUCCESS; 20 | } 21 | 22 | #define main real_main 23 | 24 | void main() 25 | { 26 | } 27 | -------------------------------------------------------------------------------- /1157/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val count = mutableMapOf() 3 | for (c in readLine()!!) { 4 | val key = c.toUpperCase() 5 | count[key] = 1 + (count[key] ?: 0) 6 | } 7 | 8 | val max = count.keys.maxBy { count[it]!! }!! 9 | val maxValue = count[max]!! 10 | if (count.keys.any { it != max && maxValue == count[it]!! }) { 11 | println("?") 12 | } else { 13 | println(max) 14 | } 15 | } -------------------------------------------------------------------------------- /14648/solution.py: -------------------------------------------------------------------------------- 1 | n, q = map(int, input().split()) 2 | 3 | seq = list(map(int, input().split())) 4 | 5 | while q > 0: 6 | [query, *args] = list(map(int, input().split())) 7 | if query == 1: 8 | [a, b] = args 9 | print(sum(seq[a - 1 : b])) 10 | tmp = seq[a - 1] 11 | seq[a - 1] = seq[b - 1] 12 | seq[b - 1] = tmp 13 | else: 14 | [a, b, c, d] = args 15 | print(sum(seq[a - 1 : b]) - sum(seq[c - 1 : d])) 16 | q -= 1 17 | -------------------------------------------------------------------------------- /2684/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | (0 until readLine()!!.toInt()).joinToString("\n") { 3 | val result = MutableList(8) { 0 } 4 | val lineInBinary = readLine()!!.map { if (it == 'H') 1 else 0 } 5 | for ((first, second, third) in lineInBinary.windowed(3)) { 6 | val index = (first shl 2) or (second shl 1) or third 7 | result[index] += 1 8 | } 9 | result.joinToString(" ") 10 | }.let(::println) 11 | } -------------------------------------------------------------------------------- /2410/solution.kt: -------------------------------------------------------------------------------- 1 | val DIVISOR = 1_000_000_000 2 | 3 | fun main(args: Array) { 4 | println(solve(readLine()!!.toInt())) 5 | } 6 | 7 | val dp = mutableMapOf(0 to 0, 1 to 1, 2 to 2) 8 | 9 | fun solve(n: Int): Int { 10 | if (n !in dp) { 11 | dp[n] = if (n % 2 != 0) { 12 | solve(n - n % 2) 13 | } else { 14 | ((solve(n - 2) % DIVISOR) + (solve(n / 2) % DIVISOR)) % DIVISOR 15 | } 16 | } 17 | return dp[n]!! 18 | } 19 | -------------------------------------------------------------------------------- /10166/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 원에 {@ math: D_1 @}개부터 {@ math: D_2 @}개까지 같은 간격을 두고 의자를 두었는데, 9 | 가운데가 보이는 의자는 무엇인가를 구하는 문제입니다. 10 | 원으로 생각하면 복잡합니다. 11 | 원의 반지름을 고정하고 북쪽을 잘라내서 선으로 만들면 편할 것 같습니다 [\[1\]][1]. 12 | 13 | ## 풀이 14 | 15 | 아주 나이브하게 {@ math: O(n^2) @}로 풀었습니다. 16 | 선에서 겹치지 않는 점의 개수를 구하는 것이므로, 17 | 그냥 점의 위치가 유니크한지만 따지면 됩니다. 18 | `Set` 자료구조를 통해 풀었습니다. 19 | 20 | [1]: https://daily-boj.github.io/RanolP/10166/playground.html 21 | -------------------------------------------------------------------------------- /1149/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 앞뒤 집과 색이 다르게 집을 칠하되, 가장 싼 가격으로 칠하는 문제입니다. 9 | 모든 집을 고려하면 힘드니 두 집만 생각하면 편할 것 같습니다. 10 | 11 | ## 풀이 12 | 13 | 지금 집에 색을 칠할 때, 최선의 경우는 다음과 같습니다. 14 | 15 | - R : 이전 집의 G, B를 칠하는 가격 중 최소 + 현재 가격 16 | - G : 이전 집의 R, B를 칠하는 가격 중 최소 + 현재 가격 17 | - B : 이전 집의 R, G를 칠하는 가격 중 최소 + 현재 가격 18 | 19 | 이전 집의 R, G, B를 저장하고 매번 최선을 고르면 됩니다. [1] 20 | 21 | [1]: https://daily-boj.github.io/RanolP/1149/playground.html 22 | -------------------------------------------------------------------------------- /16497/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val days = MutableList(32) { 0 } 3 | repeat(readLine()!!.toInt()) { 4 | val (borrow, drop) = readLine()!!.split(" ").map { it.toInt() } 5 | days[borrow] -= 1 6 | days[drop] += 1 7 | } 8 | var k = readLine()!!.toInt() 9 | for (modification in days) { 10 | k += modification 11 | if (k < 0) { 12 | println("0") 13 | return 14 | } 15 | } 16 | println("1") 17 | } -------------------------------------------------------------------------------- /1081/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val (begin, end) = readLine()!!.split(" ").map { it.toLong() } 3 | println(solve(end) - solve(begin - 1)) 4 | } 5 | 6 | fun solve(n: Long): Long { 7 | if (n < 10L) { 8 | return n * (n + 1L) / 2L 9 | } 10 | 11 | var k = 0L 12 | var t = 1L 13 | while (t * 10L <= n) { 14 | t *= 10L 15 | k += 1L 16 | } 17 | val i = n / t 18 | return i * (45L * k * t / 10L + 1L + n % t + (i - 1) * t / 2) + solve(n % t) 19 | } -------------------------------------------------------------------------------- /1149/solution.py: -------------------------------------------------------------------------------- 1 | count = int(input()) 2 | 3 | rgb_map = eval("list(map(int, input().split()))," * count) 4 | 5 | dp = [[0, 0, 0] for _ in range(count)] 6 | 7 | for i in range(count - 1, -1, -1): 8 | is_last = i + 1 == count 9 | dp[i][0] = rgb_map[i][0] + (0 if is_last else min(dp[i + 1][1], dp[i + 1][2])) 10 | dp[i][1] = rgb_map[i][1] + (0 if is_last else min(dp[i + 1][0], dp[i + 1][2])) 11 | dp[i][2] = rgb_map[i][2] + (0 if is_last else min(dp[i + 1][0], dp[i + 1][1])) 12 | 13 | print(min(dp[0])) 14 | -------------------------------------------------------------------------------- /13398/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val n = readLine()!!.toInt() 3 | val numbers = readLine()!!.split(" ").map { it.toInt() } 4 | val accu = mutableListOf() 5 | for (i in numbers) { 6 | accu += i + (accu.lastOrNull() ?: 0) 7 | } 8 | 9 | val allSum = accu[n - 1] 10 | 11 | var result = allSum 12 | for (i in 0 until n) { 13 | result = maxOf(allSum - accu[i] + if(i > 0) accu[i - 1] else 0, result) 14 | } 15 | 16 | println(result) 17 | } -------------------------------------------------------------------------------- /1459/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val (x, y, w, s) = readLine()!!.split(" ").map { it.toLong() } 3 | if (2 * w <= s) { 4 | println(x * w + y * w) 5 | } else { 6 | val (sMoves, allMoves) = listOf(x, y).sorted() 7 | val wMoves = allMoves - sMoves 8 | if (2 * w <= 2 * s) { 9 | println(s * sMoves + w * wMoves) 10 | } else { 11 | println(s * sMoves + s * (wMoves - (wMoves % 2)) + w * (wMoves % 2)) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /17247/README.md: -------------------------------------------------------------------------------- 1 | # 17247 택시 거리 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze I, 17247 택시 거리 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 두 점의 택시 거리를 구하는 문제입니다. 28 | 29 | ## 풀이 30 | 31 | 문제에 주어진 수식대로 코드를 짜서 계산하면 됩니다. 32 | -------------------------------------------------------------------------------- /18111/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 블록으로 이루어진 3차원 공간에서 '땅고르기' 작업을 합니다. 9 | 땅고르기는 다음 두 작업을 통해 모든 블록의 높이를 균일하게 맞추는 작업입니다. 10 | 11 | - 가장 위 블록 제거 / 2초 소모 12 | - 가장 위에 블록 설치 / 1초 소모 13 | 14 | {@ var: n @} × {@ var: m @}의 공간을 '땅고르기'하려고 합니다. 15 | 각 좌표에 쌓인 블록의 높이가 주어질 때 가장 빨리 하면 몇 초가 걸릴지 구하는 문제입니다. 16 | 17 | ## 풀이 18 | 19 | y에 대해 빈도를 `Map`에 담습니다. 20 | 가장 낮은 y좌표와 가장 높은 y좌표를 가져와, 21 | 설치/제거를 실행하면 걸리는 시간을 계산합니다. 22 | 만약 설치할 블록이 충분하지 않다면 제거합니다. 23 | 걸린 시간의 합을 출력합니다. 24 | -------------------------------------------------------------------------------- /9946/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | System.`in` 3 | .bufferedReader() 4 | .lineSequence() 5 | .takeWhile { it != "END" } 6 | .chunked(2) 7 | .withIndex() 8 | .joinToString("\n") { (i, chunk) -> 9 | if (chunk[0].toCharArray().sorted() == chunk[1].toCharArray().sorted()) { 10 | "Case ${i + 1}: same" 11 | } else { 12 | "Case ${i + 1}: different" 13 | } 14 | }.let(::println) 15 | } 16 | -------------------------------------------------------------------------------- /1276/solution.py: -------------------------------------------------------------------------------- 1 | from bisect import bisect_left, insort 2 | 3 | n = int(input()) 4 | y_map = [[0] for _ in range(10004)] 5 | to_check = [] 6 | for _ in range(n): 7 | y, x1, x2 = map(int, input().split()) 8 | for x in range(x1, x2): 9 | insort(y_map[x], y) 10 | 11 | to_check.append((x1, y)) 12 | to_check.append((x2 - 1, y)) 13 | 14 | answer = 0 15 | 16 | for x, y in to_check: 17 | array = y_map[x] 18 | index = bisect_left(array, y) - 1 19 | answer += y - array[index] 20 | 21 | print(answer) 22 | -------------------------------------------------------------------------------- /13116/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | (0 until readLine()!!.toInt()).joinToString("\n") { 3 | val (a, b) = readLine()!!.split(" ").map { it.toInt().toString(2) } 4 | val buffer = StringBuilder() 5 | for (i in 0 until minOf(a.length, b.length)) { 6 | if (a[i] == b[i]) { 7 | buffer.append(a[i]) 8 | } else { 9 | break 10 | } 11 | } 12 | buffer.toString().toInt(2).toString() + "0" 13 | }.let(::println) 14 | } 15 | -------------------------------------------------------------------------------- /16953/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | var (a, b) = readLine()!!.split(" ").map { it.toInt() } 3 | 4 | var operationPermitted = 1 5 | while (a != b && a < b) { 6 | if (b % 2 == 0) { 7 | b /= 2 8 | } else if (b % 10 == 1) { 9 | b /= 10 10 | } else { 11 | break 12 | } 13 | operationPermitted += 1 14 | } 15 | 16 | if (a == b) { 17 | println(operationPermitted) 18 | } else { 19 | println(-1) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /4436/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | System.`in`.bufferedReader().lineSequence().joinToString("\n") { 3 | val n = it.toLong() 4 | val notAppeared = "0123456789".toCharArray().toMutableSet() 5 | var curr = n 6 | var k = 0 7 | while (notAppeared.isNotEmpty()) { 8 | k += 1 9 | for (c in curr.toString()) { 10 | notAppeared -= c 11 | } 12 | curr += n 13 | } 14 | k.toString() 15 | }.let(::println) 16 | } 17 | -------------------------------------------------------------------------------- /11383/README.md: -------------------------------------------------------------------------------- 1 | # 11383 뚊 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze I, 11383 뚊 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 각 문자를 두배 늘렸을 때 같은지 확인하면 됩니다. 28 | 29 | ## 풀이 30 | 31 | 문자 단위로 쪼개고 두 번에 걸쳐 검사하면 됩니다. 32 | 문자열이 여러 줄에 걸쳐있음에 주의합니다. 33 | -------------------------------------------------------------------------------- /1236/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val (n, m) = readLine()!!.split(" ").map { it.toInt() } 3 | 4 | val rowPlaced = mutableSetOf() 5 | val columnPlaced = mutableSetOf() 6 | 7 | repeat(n) { rowIndex -> 8 | for ((columnIndex, c) in readLine()!!.withIndex()) { 9 | if (c == 'X') { 10 | rowPlaced += rowIndex 11 | columnPlaced += columnIndex 12 | } 13 | } 14 | } 15 | 16 | println(maxOf(n - rowPlaced.size, m - columnPlaced.size)) 17 | } -------------------------------------------------------------------------------- /14648/README.md: -------------------------------------------------------------------------------- 1 | # 14648 쿼리 맛보기 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze I, 14648 쿼리 맛보기 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 들어오는 쿼리를 처리하면 됩니다. 28 | 29 | ## 풀이 30 | 31 | 브론즈가 왜 브론즈입니까. 이상한 알고리즘 찾지 말고 구현. 구현입니다. 32 | 배열 인덱스와 쿼리의 차이에 주의하면 됩니다. -------------------------------------------------------------------------------- /2992/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val n = readLine()!! 3 | println(solve(n.toInt(), "", n.toList()) ?: 0) 4 | } 5 | 6 | fun solve(n: Int, built: String, usable: List): Int? { 7 | if (usable.size == 0) { 8 | val i = built.toInt() 9 | return if (i > n) { 10 | i 11 | } else { 12 | null 13 | } 14 | } 15 | return (0 until usable.size).mapNotNull { 16 | solve(n, built + usable[it], usable.subList(0, it) + usable.subList(it + 1, usable.size)) 17 | }.min() 18 | } -------------------------------------------------------------------------------- /1068/README.md: -------------------------------------------------------------------------------- 1 | # 1068 트리 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver I, 1068 트리 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 트리를 구축하고 완전 탐색하는 문제입니다. 28 | 29 | ## 풀이 30 | 31 | 앞에 있는 노드가 뒤에 있는 노드를 부모로 갖거나, 32 | 루트 노드가 여럿 있을 수 있는 점만 간과하지 않으면 완전 탐색으로 쉽게 풀 수 있습니다. 33 | -------------------------------------------------------------------------------- /1357/README.md: -------------------------------------------------------------------------------- 1 | # 1357 뒤집힌 덧셈 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze I, 1357 뒤집힌 덧셈 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 정수를 뒤집고 더하고 다시 뒤집는 문제입니다. 0에 주의해야 합니다. 28 | 29 | ## 풀이 30 | 31 | 입력받은 문자열을 뒤집고, 정수로 변환합니다. 32 | 둘을 더한 다음, 문자열로 바꾸어 뒤집고 정수로 변환한 다음 출력합니다. -------------------------------------------------------------------------------- /2504/README.md: -------------------------------------------------------------------------------- 1 | # 2504 괄호의 값 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver II, 2504 괄호의 값 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 괄호 문자열을 파싱하고, 성공했다면 값을 계산하는 문제입니다. 28 | 29 | ## 풀이 30 | 31 | 재귀 하향 파서recursive descent parser를 짜서 AST를 구축합니다. 32 | 노드별로 계산 함수를 붙여 적절히 연산합니다. -------------------------------------------------------------------------------- /1654/solution.py: -------------------------------------------------------------------------------- 1 | k, n = map(int, input().split()) 2 | cable_list = [int(input()) for _ in range(k)] 3 | lo = 1 4 | hi = sum(cable_list) + 1 5 | while lo < hi: 6 | med = (lo + hi) // 2 7 | count = 0 8 | left_cables = 0 9 | for cable in cable_list: 10 | while cable >= med: 11 | cable -= med 12 | count += 1 13 | left_cables += cable 14 | if count == n and left_cables == 0: 15 | hi = med + 1 16 | break 17 | elif count < n: 18 | hi = med 19 | else: 20 | lo = med + 1 21 | 22 | print(hi - 1) 23 | -------------------------------------------------------------------------------- /9693/solution.py: -------------------------------------------------------------------------------- 1 | dp_fives = {} 2 | 3 | 4 | def get_fives(i): 5 | if i not in dp_fives and i % 5 == 0: 6 | dp_fives[i] = 1 + get_fives(i // 5) 7 | return dp_fives.get(i, 0) 8 | 9 | 10 | dp_tens = [0] 11 | 12 | 13 | def get_tens(i): 14 | if i >= len(dp_tens): 15 | for j in range(len(dp_tens), i + 1): 16 | dp_tens.append(dp_tens[-1] + get_fives(j)) 17 | return dp_tens[i] 18 | 19 | 20 | index = 1 21 | while 1: 22 | i = int(input()) 23 | if i == 0: 24 | break 25 | print(f"Case #{index}: {get_tens(i)}") 26 | index += 1 27 | -------------------------------------------------------------------------------- /11047/README.md: -------------------------------------------------------------------------------- 1 | # 11047 동전 0 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver I, 11047 동전 0 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 가진 동전으로 k원을 만드는데에 필요한 최소 개수를 구하면 됩니다. 28 | 29 | ## 풀이 30 | 31 | 가장 큰 동전부터 차례차례 시도해보며 k원을 만들면 됩니다. 32 | -------------------------------------------------------------------------------- /1735/README.md: -------------------------------------------------------------------------------- 1 | # 1735 분수 합 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver II, 1735 분수 합 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 분수의 덧셈을 하는 문제입니다. 28 | 기약 분수로 출력해야 합니다. 29 | 30 | ## 풀이 31 | 32 | 파이썬 표준 라이브러리에 `Fraction` 이 있습니다. 33 | 정석적인 풀이는 통분한 다음 더하고, 34 | 분모와 분자의 최대공배수를 구해 나누는 것입니다. 35 | -------------------------------------------------------------------------------- /4531/README.md: -------------------------------------------------------------------------------- 1 | # 4531 Verdis Quo 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver I, 4531 Verdis Quo 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 로마 숫자를 아라비아 숫자로 변환하는 문제입니다. 28 | 29 | ## 풀이 30 | 31 | Regex를 통해 IX 같은 '-1 문자열'을 미리 치환합니다. 32 | '-1 문자열'을 제외하면 문자에 할당된 값을 더하는 것으로 문제를 해결할 수 있습니다. 33 | -------------------------------------------------------------------------------- /4378/README.md: -------------------------------------------------------------------------------- 1 | # 4378 트ㅏㅊ; 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver V, 4378 트ㅏㅊ; 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 키보드 오타를 교정하는 문제입니다. 28 | 원래 키보드를 기준으로 한 칸 오른쪽을 칩니다. 29 | 30 | ## 풀이 31 | 32 | 딕셔너리를 만들 수도 있지만 시간이 널널하므로, 33 | 배열 내지는 문자열 인덱싱으로 풀 수도 있습니다. 34 | EOF까지 받아야 함에 주의합니다. 35 | -------------------------------------------------------------------------------- /6246/solution.kt: -------------------------------------------------------------------------------- 1 | data class Query(val begin: Int, val step: Int) { 2 | fun hasBalloon(n: Int): Boolean = 3 | n >= begin && (n - begin) % step == 0 4 | } 5 | 6 | fun main(args: Array) { 7 | val (n, q) = readLine()!!.split(" ").map { it.toInt() } 8 | val queries = List(q) { 9 | val (begin, step) = readLine()!!.split(" ").map { it.toInt() } 10 | Query(begin, step) 11 | } 12 | var answer = 0 13 | for (i in 1..n) { 14 | if (queries.all { !it.hasBalloon(i) }) { 15 | answer += 1 16 | } 17 | } 18 | println(answer) 19 | } -------------------------------------------------------------------------------- /2757/solution.js: -------------------------------------------------------------------------------- 1 | var scanner = new java.util.Scanner(java.lang.System['in']).useDelimiter( 2 | '[RC\r\n ]+' 3 | ); 4 | var a = 'A'.charCodeAt(0); 5 | while (true) { 6 | var row = scanner.nextInt(); 7 | var column = scanner.nextInt() - 1; 8 | if (row == 0 && column == -1) { 9 | break; 10 | } 11 | var result = ''; 12 | while (column >= 26) { 13 | var alphabet = column % 26; 14 | result = String.fromCharCode(a + alphabet) + result; 15 | column = (column - (column % 26) - 1) / 26; 16 | } 17 | result = String.fromCharCode(a + column) + result; 18 | print(result + row); 19 | } 20 | -------------------------------------------------------------------------------- /11650/solution.kt: -------------------------------------------------------------------------------- 1 | data class Pos(val x: Int, val y: Int) : Comparable { 2 | override operator fun compareTo(other: Pos): Int { 3 | val xDiff = this.x.compareTo(other.x) 4 | return if (xDiff != 0) { 5 | xDiff 6 | } else { 7 | this.y.compareTo(other.y) 8 | } 9 | } 10 | } 11 | 12 | fun main(args: Array) { 13 | List(readLine()!!.toInt()) { 14 | val (x, y) = readLine()!!.split(" ").map { it.toInt() } 15 | Pos(x, y) 16 | } 17 | .sorted() 18 | .joinToString("\n") { "${it.x} ${it.y}" } 19 | .let(::println) 20 | } -------------------------------------------------------------------------------- /9047/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | System.`in`.bufferedReader().lineSequence().drop(1).joinToString("\n") { 4 | var curr = it.padStart(4, '0') 5 | var count = 0 6 | while (curr != "6174") { 7 | var min = curr.toCharArray().sorted().joinToString("") 8 | var max = min.reversed() 9 | 10 | curr = (max.toInt() - min.toInt()).toString().padStart(4, '0') 11 | count += 1 12 | } 13 | 14 | count.toString() 15 | }.let(::println) 16 | } 17 | -------------------------------------------------------------------------------- /3991/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | 4 | val (h, w, c) = readLine()!!.split(" ").map { it.toInt() } 5 | val beads = readLine()!!.split(" ").map { it.toInt() } 6 | 7 | val board = beads.withIndex().flatMap { (index, count) -> List(count) { index + 1 } }.chunked(w) 8 | 9 | board.withIndex().forEach { (index, row) -> 10 | println(row.joinToString("").let { 11 | if (index % 2 == 0) { 12 | it.reversed() 13 | } else { 14 | it 15 | } 16 | }) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /9933/README.md: -------------------------------------------------------------------------------- 1 | # 9933 민균이의 비밀번호 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze I, 9933 민균이의 비밀번호 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 뒤집었을 때 중복되는 문자열을 찾는 문제입니다. 28 | 29 | ## 풀이 30 | 31 | 문자열 리스트에 그 리스트의 각 원소를 뒤집은 문자열 리스트를 합칩니다. 32 | 리스트 전체를 순회하며 개수가 2개인 문자열을 찾으면 됩니다. 33 | 가운데 글자를 찾는 것이고, 길이가 홀수이므로 어떤 문자열을 찾아도 상관 없습니다. -------------------------------------------------------------------------------- /4732/solution.py: -------------------------------------------------------------------------------- 1 | note_sequence = ["A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#"] 2 | same_note = { 3 | "B#": "C", 4 | "E#": "F", 5 | "Bb": "A#", 6 | "Db": "C#", 7 | "Eb": "D#", 8 | "Gb": "F#", 9 | "Ab": "G#", 10 | } 11 | 12 | while 1: 13 | note_list = input().split() 14 | if note_list[0] == "***": 15 | break 16 | move = int(input()) 17 | result = [ 18 | note_sequence[ 19 | (note_sequence.index(same_note.get(note, note)) + move) % len(note_sequence) 20 | ] 21 | for note in note_list 22 | ] 23 | print(" ".join(result)) 24 | -------------------------------------------------------------------------------- /17363/README.md: -------------------------------------------------------------------------------- 1 | # 17363 우유가 넘어지면? 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze I, 17363 우유가 넘어지면? 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 문자열을 돌리는 문제입니다. 28 | 특수 문자들도 돌아간 문자로 바꾸어야 합니다. 29 | 30 | ## 풀이 31 | 32 | 문자를 돌아간 문자로 변환한 다음, 33 | 매 줄의 0번 인덱스는 length - 1번에, 1번은 length - 2번에, ...추가하기를 반복합니다. 34 | 문자열을 합쳐서 출력하면 됩니다. 35 | -------------------------------------------------------------------------------- /15810/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val (staffs, balloons) = readLine()!!.split(" ").map { it.toLong() } 3 | val balloonTimeList = readLine()!!.split(" ").map { it.toLong() } 4 | 5 | fun simulate(times: Long): Long = balloonTimeList.map { times / it }.sum() 6 | 7 | var low = 0L 8 | var high = 1_000_000_000_001L 9 | while (low < high) { 10 | val mid = (low + high) / 2 11 | val result = simulate(mid) 12 | if (result >= balloons) { 13 | high = mid 14 | } else { 15 | low = mid + 1 16 | } 17 | } 18 | 19 | println(low) 20 | } 21 | -------------------------------------------------------------------------------- /2712/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | 4 | List(readLine()!!.toInt()) { 5 | val (value, unit) = readLine()!!.split(" ") 6 | val valueReal = value.toDouble() 7 | 8 | when (unit) { 9 | "kg" -> String.format("%.4f lb", valueReal * 2.2046) 10 | "lb" -> String.format("%.4f kg", valueReal * 0.4536) 11 | "l" -> String.format("%.4f g", valueReal * 0.2642) 12 | "g" -> String.format("%.4f l", valueReal * 3.7854) 13 | else -> "" 14 | } 15 | }.joinToString("\n").let(::println) 16 | } 17 | -------------------------------------------------------------------------------- /3447/README.md: -------------------------------------------------------------------------------- 1 | # 3447 버그왕 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze I, 3447 버그왕 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | `BUG` 문자열을 지우는 문제입니다. 28 | `BUBUGG` 나 `BBUGUG` 같이 BUG 안 BUG가 사라지는 경우도 처리해야 합니다. 29 | 30 | ## 풀이 31 | 32 | 스택에 문자를 쌓습니다. 33 | 현재 문자가 `G`이고 뒤 문자가 `U`, 뒤뒤 문자가 `B`라면 3개를 모두 pop합니다. 34 | 이후 문자를 전부 합쳐서 출력합니다. 35 | -------------------------------------------------------------------------------- /3213/README.md: -------------------------------------------------------------------------------- 1 | # 3213 피자 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver IV, 3213 피자 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 피자를 `3/4`, `1/2`, `1/4` 조각을 먹는데, '한 조각'으로 붙어 있어야 합니다. 28 | 29 | ## 풀이 30 | 31 | - `3/4` 1개가 있다면 `1/4` 1개 하고 결합합니다. 32 | - `1/2` 1개가 있다면 `1/2` 1개 혹은 `1/4` 2개와 결합합니다. 33 | - 이후 결합하지 않은 `1/4` 은 같은 `1/4` 3개와 결합합니다. 34 | -------------------------------------------------------------------------------- /1041/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 주사위를 쌓았을 때 바깥으로 보이는 면을 최소화하는 문제입니다. 9 | 10 | ## 풀이 11 | 12 | {@ var: n @} = 1인 경우 바닥을 제외한 5면이 보입니다. 13 | 그렇지 않은 경우, 육면체에 쌓인 주사위 다음 네 종류로 나누어볼 수 있습니다. 14 | 15 | - 꼭지점 : 3면을 드러내고 있습니다. 16 | - 모서리 : 2면을 드러내고 있습니다. 17 | - 면 : 1면을 드러내고 있습니다. 18 | - 속 : 아무 것도 드러내지 않고 있습니다. 19 | 20 | 꼭지점은 위쪽에 4개 존재하고, 21 | 모서리는 위쪽에 {@ math: (n - 2) \times 4 @}개, 옆쪽 기둥에 {@ math: (n - 1) \times 4 @}개. 22 | 면은 위쪽에 {@ math: (n - 2) \times (n - 2) @}개, 옆면에 {@ math: (n - 2) \times (n - 1) @}개 있습니다. 23 | 24 | 3면을 구할 때 서로 이웃한 면만 구해야 한다는 것에 주의하면 25 | {@ math: O(1) @}로 풀 수 있습니다. 26 | -------------------------------------------------------------------------------- /15649/solution.py: -------------------------------------------------------------------------------- 1 | from typing import List, Set 2 | 3 | 4 | def compute(size: int, end: int, used: Set[int]) -> List[List[int]]: 5 | if size == 1: 6 | return [[x] for x in range(1, end + 1) if x not in used] 7 | else: 8 | result = [] 9 | for x in range(1, end + 1): 10 | if x in used: 11 | continue 12 | result.extend( 13 | [[x, *each] for each in compute(size - 1, end, set([*used, x]))] 14 | ) 15 | 16 | return result 17 | 18 | 19 | n, m = map(int, input().split()) 20 | 21 | for seq in compute(m, n, set()): 22 | print(" ".join(map(str, seq))) 23 | -------------------------------------------------------------------------------- /2546/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | val tc = readLine()!!.toInt() 4 | 5 | repeat(tc) { 6 | readLine() 7 | readLine() 8 | val clang = readLine()!!.split(" ").map { it.toDouble() } 9 | val economy = readLine()!!.split(" ").map { it.toDouble() } 10 | 11 | val clangIqAverage = clang.sum() / clang.size.toDouble() 12 | val economyIqAverage = economy.sum() / economy.size.toDouble() 13 | val smartEnough = clang.filter { economyIqAverage < it && it < clangIqAverage } 14 | 15 | println(smartEnough.size) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /3273/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | readLine() 3 | val numbers = readLine()!!.split(" ").map { it.toInt() } 4 | val toCreate = readLine()!!.toInt() 5 | 6 | val map = numbers.withIndex().groupBy( 7 | { it.value }, 8 | { it.index } 9 | ) 10 | var answer = 0 11 | 12 | for ((i, n) in numbers.withIndex()) { 13 | if (n >= toCreate) { 14 | continue 15 | } 16 | val others = map[toCreate - n] 17 | if (others == null) { 18 | continue 19 | } 20 | answer += others.dropWhile { it <= i }.size 21 | } 22 | 23 | println(answer) 24 | } -------------------------------------------------------------------------------- /5430/solution.py: -------------------------------------------------------------------------------- 1 | T = int(input()) 2 | for _ in range(T): 3 | p = input() 4 | input() 5 | array = eval(input()) 6 | error = False 7 | is_reversed = False 8 | for c in p: 9 | if c == "R": 10 | is_reversed = not is_reversed 11 | elif c == "D": 12 | if len(array) == 0: 13 | error = True 14 | break 15 | if is_reversed: 16 | array.pop() 17 | else: 18 | array.pop(0) 19 | if error: 20 | print("error") 21 | else: 22 | print("[" + ",".join(map(str, reversed(array) if is_reversed else array)) + "]") 23 | -------------------------------------------------------------------------------- /10799/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | var opened = 0 3 | var result = 0 4 | var lastOpened = false 5 | for (char in readLine()!!) { 6 | when (char) { 7 | '(' -> { 8 | opened += 1 9 | lastOpened = true 10 | } 11 | ')' -> { 12 | opened -= 1 13 | if (lastOpened) { 14 | result += opened 15 | } else { 16 | result += 1 17 | } 18 | lastOpened = false 19 | } 20 | else -> {} 21 | } 22 | } 23 | println(result) 24 | } -------------------------------------------------------------------------------- /1935/README.md: -------------------------------------------------------------------------------- 1 | # 1935 후위 표기식2 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver III, 1935 후위 표기식2 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 변수가 있는 후위 표기식을 계산하는 문제입니다. 28 | 29 | ### 입력 30 | 31 | 변수가 있습니다. `HashMap`을 사용할 수도 있지만, 32 | `'A'` 에서 `'Z'` 범위이므로 `'A'` 값을 빼면 배열에 넣을 수 있습니다. 33 | 34 | ### 풀이 35 | 36 | 후위 표기식은 스택으로 풀 수 있습니다. 37 | 좌항과 우항만 잘 구별하면 쉽게 풀 수 있습니다. 38 | -------------------------------------------------------------------------------- /2502/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | 4 | val (d, k) = readLine()!!.split(" ").map { it.toInt() } 5 | 6 | val fiboPrecomputed = listOf( 7 | 0, 0, 1, 1, 2, 3, 5, 8, 13, 21, 8 | 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 9 | 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811 10 | ) 11 | 12 | for (a in 0..50000) { 13 | val b = k - a * fiboPrecomputed[d - 1] 14 | if (b % fiboPrecomputed[d] == 0) { 15 | println(a) 16 | println(b / fiboPrecomputed[d]) 17 | return 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /3991/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 최대한 높은 점수를 얻을 수 있게 구슬을 게임판에 배치해야 합니다. 9 | 10 | ## 풀이 11 | 12 | 모든 게임판을 위에서부터 제거하는 것만으로 최고점을 얻을 수 있게 만든다고 합시다. 13 | 이를 통해 중력에 대해 생각하지 않을 수 있습니다. 14 | 15 | 그리고 점수는 제곱으로 주기 때문에, 16 | 같은 색 구슬이라면 떨어진 것보다 붙어있는 것이 더 큰 점수를 주는 것이 자명합니다. 17 | 18 | 그렇다면, 위에서부터 같은 색 구슬을 쌓아나가면 되지 않을까요? 19 | 이 때, 주의해야할 부분이 있습니다. 20 | 만약 `arr[0][j]`, `arr[1][j]`, ⋯으로 채워나간다면 다음과 같이 게임판이 만들어질 수 있을 것입니다. 21 | 22 | ```text 23 | 11112 24 | 22233 25 | 33444 26 | 44444 27 | ``` 28 | 29 | 따라서 줄 번호가 홀수거나 짝수일 때만 뒤집는 로직을 추가해주면 이런 식으로 게임판이 만들어집니다. 30 | 31 | ```text 32 | 11112 33 | 33222 34 | 33444 35 | 44444 36 | ``` 37 | -------------------------------------------------------------------------------- /5883/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val n = readLine()!!.toInt() 3 | val guests = List(n) { readLine()!!.toInt() } 4 | val unique = guests.toSet() 5 | var longest = 0 6 | for (delete in unique) { 7 | var last = -1 8 | var len = 0 9 | for (i in guests) { 10 | if (delete == i) { 11 | continue 12 | } 13 | if (last != i) { 14 | longest = maxOf(longest, len) 15 | len = 0 16 | last = i 17 | } 18 | len += 1 19 | } 20 | longest = maxOf(longest, len) 21 | } 22 | println(longest) 23 | } -------------------------------------------------------------------------------- /1790/solution.py: -------------------------------------------------------------------------------- 1 | from bisect import bisect_right 2 | 3 | n, k = map(int, input().split()) 4 | 5 | Ln = len(str(n)) 6 | ten_squares = [10 ** x for x in range(Ln + 1)] + [1] 7 | lengths = [x * (ten_squares[x] - ten_squares[x - 1]) for x in range(1, Ln + 1)] 8 | over_here = (ten_squares[Ln] - n - 1) * Ln 9 | 10 | if sum(lengths) - over_here < k: 11 | print(-1) 12 | else: 13 | index = bisect_right(lengths, k) 14 | begin = sum(lengths[:index]) 15 | begin_value = ten_squares[index] 16 | digit_count = index + 1 17 | left = k - begin - 1 18 | current = begin_value + left // digit_count 19 | print(str(begin_value + left // digit_count)[left % digit_count]) 20 | -------------------------------------------------------------------------------- /1043/solution.py: -------------------------------------------------------------------------------- 1 | n, m = map(int, input().split()) 2 | knowns = sum([2 ** int(i) for i in input().split()][1:]) 3 | parties_can_lie = eval("sum([2 ** int(i) for i in input().split()][1:])," * m) 4 | 5 | 6 | def exclude_knowns(parties, knowns): 7 | ok_parties = [] 8 | update = False 9 | for party_people in parties: 10 | if party_people & knowns: 11 | knowns |= party_people 12 | update = True 13 | else: 14 | ok_parties.append(party_people) 15 | if update: 16 | return exclude_knowns(ok_parties, knowns) 17 | else: 18 | return ok_parties 19 | 20 | 21 | print(len(exclude_knowns(parties_can_lie, knowns))) 22 | -------------------------------------------------------------------------------- /2740/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | val (n, m) = readLine()!!.split(" ").map { it.toInt() } 4 | val a = List(n) { 5 | readLine()!!.split(" ").map { it.toInt() } 6 | } 7 | 8 | val k = readLine()!!.split(" ")[1].toInt() 9 | val b = List(m) { 10 | readLine()!!.split(" ").map { it.toInt() } 11 | } 12 | 13 | val newMatrix = List(n) { i -> 14 | List(k) { j -> 15 | (0 until m).sumBy { a[i][it] * b[it][j] } 16 | } 17 | } 18 | 19 | newMatrix.joinToString("\n") { 20 | it.joinToString(" ") 21 | }.let(::println) 22 | } 23 | -------------------------------------------------------------------------------- /2435/README.md: -------------------------------------------------------------------------------- 1 | # 2435 기상청 인턴 신현수 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver IV, 2435 기상청 인턴 신현수 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 길이가 n인 수열이 주어졌을 때, 28 | 연속적인 k개의 원소를 더한 값 중 가장 큰 값을 구하는 문제입니다. 29 | 30 | ## 풀이 31 | 32 | 현재까지 나온 값 중 최대 값과 이전 합을 저장합니다. 33 | 이전 합의 가장 첫 값을 빼고 지금 값을 더하면 새로운 합이 나옵니다. 34 | 최대 값과 비교해서 저장하고, 이전 값에 저장하면 됩니다. 35 | -------------------------------------------------------------------------------- /11082/solution.py: -------------------------------------------------------------------------------- 1 | import re 2 | from fractions import Fraction 3 | 4 | lv = lambda x: 10 ** len(str(x)) if x != "0" else 1 5 | lvten = lambda x: 10 ** len(str(x)) 6 | 7 | result = re.match( 8 | r"^(?P\d+)(?:\.(?P\d+)?(?:\((?P\d+)\))?)?$", input() 9 | ).groupdict() 10 | integral = result["int"] 11 | just = result["just"] or "" 12 | rep = result["rep"] or "" 13 | 14 | numerator = ( 15 | int(integral + just + rep) - int(integral + just) if rep else int(integral + just) 16 | ) 17 | denominator = int(("9" * len(rep) + "0" * len(just)) or "1") or int( 18 | "1" + "0" * len(just) 19 | ) 20 | 21 | frac = Fraction(numerator, denominator) 22 | print(f"{frac.numerator}/{frac.denominator}") 23 | -------------------------------------------------------------------------------- /14585/solution.py: -------------------------------------------------------------------------------- 1 | n, m = map(int, input().split()) 2 | candy_map = [[False for _ in range(301)] for _ in range(301)] 3 | 4 | for _ in range(n): 5 | x, y = map(int, input().split()) 6 | candy_map[x][y] = True 7 | 8 | best_map = [[[] for _ in range(301)] for _ in range(301)] 9 | 10 | for x in reversed(range(0, 301)): 11 | for y in reversed(range(0, 301)): 12 | if candy_map[x][y]: 13 | best_map[x][y] += [m] 14 | right = best_map[x + 1][y] if x < 300 else [] 15 | top = best_map[x][y + 1] if y < 300 else [] 16 | maximized = max([top, right], key=sum) 17 | best_map[x][y] += [v - 1 for v in maximized if v > 0] 18 | 19 | print(sum(best_map[0][0])) 20 | -------------------------------------------------------------------------------- /2508/README.md: -------------------------------------------------------------------------------- 1 | # 2508 사탕 박사 고창영 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver III, 2508 사탕 박사 고창영 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 아래 두 경우에 맞는 문자열의 개수를 세면 됩니다. 28 | 29 | ```text 30 | v 31 | o >o< 32 | ^ 33 | ``` 34 | 35 | 아래와 같은 입력은 없습니다. 36 | 37 | ```text 38 | v 39 | >o< 40 | ^ 41 | ``` 42 | 43 | ## 풀이 44 | 45 | `o`가 등장할 때마다 상하좌우를 비교해 맞는지 확인합니다. 46 | `o`의 위치에 따라 상하좌우 접근이 될 수 없음에 주의합니다. 47 | -------------------------------------------------------------------------------- /1629/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val memo = mutableListOf() 3 | val (a, b, c) = readLine()!!.split(" ").map { it.toLong() } 4 | 5 | memo.add(a % c) 6 | 7 | for (i in 0 until 31) { 8 | memo.add((memo.last() * memo.last()) % c) 9 | } 10 | 11 | var answer = 1L 12 | var remains = b 13 | var currTwoPower = 2147483648L 14 | var currIndex = 31 15 | while (remains > 0) { 16 | if (remains < currTwoPower) { 17 | currTwoPower /= 2L 18 | currIndex -= 1 19 | continue 20 | } 21 | remains -= currTwoPower 22 | answer = (answer * memo[currIndex]) % c 23 | } 24 | 25 | println(answer) 26 | } -------------------------------------------------------------------------------- /15724/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val (height, width) = readLine()!!.split(" ").map { it.toInt() } 3 | val acc = MutableList(width + 1) { 4 | MutableList(height + 1) { 0 } 5 | } 6 | for (y in 1..height) { 7 | var x = 1 8 | for (v in readLine()!!.split(" ").map { it.toInt() }) { 9 | acc[x][y] = v + acc[x - 1][y] + acc[x][y - 1] - acc[x - 1][y - 1] 10 | x += 1 11 | } 12 | } 13 | 14 | (1..readLine()!!.toInt()).joinToString("\n") { 15 | val (y1, x1, y2, x2) = readLine()!!.split(" ").map { it.toInt() } 16 | (acc[x2][y2] + acc[x1 - 1][y1 - 1] - acc[x1 - 1][y2] - acc[x2][y1 - 1]).toString() 17 | }.let(::println) 18 | } -------------------------------------------------------------------------------- /11285/README.md: -------------------------------------------------------------------------------- 1 | # 11285 초성 중성 종성 2 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze I, 11285 초성 중성 종성 2 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 입력된 초성, 중성, 종성으로 음절을 만듭니다. 한글 처리에 주의해야 합니다. 28 | 29 | ## 풀이 30 | 31 | 한글은 유니코드 상에서 규칙적으로 배열되어 있습니다. 32 | 종성이 총 28개(빈 종성 포함)이므로 28개마다 중성이 바뀌며, 33 | 중성은 총 21개이므로 21 × 28 = 588개마다 초성이 바뀝니다. 34 | 가장 처음 소리인 '가'(`U+AC00`)을 기준으로, 35 | (초성 번호) × 588 + (중성 번호) × 28 + (종성 번호)를 더하면 음절이 완성됩니다. 36 | -------------------------------------------------------------------------------- /14659/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | readLine() 3 | val arr = readLine()!!.split(" ").map { it.toInt() } + 2147483647 4 | var maxKills = 0 5 | val map = mutableMapOf() 6 | var last = -1 7 | for (player in arr) { 8 | for (killer in map.keys.toList()) { 9 | val kills = map[killer]!! 10 | if (killer > player) { 11 | map[killer] = kills + 1 12 | } else { 13 | map.remove(killer) 14 | maxKills = maxOf(maxKills, kills) 15 | } 16 | } 17 | if (last < player) { 18 | map[player] = 0 19 | } 20 | last = player 21 | } 22 | println(maxKills) 23 | } -------------------------------------------------------------------------------- /16439/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val (n, m) = readLine()!!.split(" ").map { it.toInt() } 3 | val satisfaction = mutableListOf>() 4 | repeat(n) { 5 | satisfaction += readLine()!!.split(" ").map { it.toInt() } 6 | } 7 | 8 | var maximized = 0 9 | 10 | for(i in 0 until m) { 11 | j@for(j in 0 until m) { 12 | if (i == j) continue@j 13 | k@for(k in 0 until m) { 14 | if (i == k || j == k) continue@k 15 | var curr = satisfaction.map { maxOf(it[i], it[j], it[k]) }.sum() 16 | 17 | maximized = maxOf(curr, maximized) 18 | } 19 | } 20 | } 21 | 22 | println(maximized) 23 | } -------------------------------------------------------------------------------- /1373/README.md: -------------------------------------------------------------------------------- 1 | # 1373 2진수 8진수 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze II, 1373 2진수 8진수 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 2진수를 8진수로 바꾸는 간단한 문제입니다. 28 | 29 | ## 풀이 30 | 31 | 2^1000000은 상당히 큽니다. 32 | Python에선 잘 다룰 수 있지만 다른 언어에서는 새로운 접근 방법이 필요합니다. 33 | 팔진수 한 자리는 이진수 네 자리와 동치로 나타내집니다. 34 | 이진수를 네 자리 묶음으로 나타내 묶음별로 변환을 진행하면 됩니다. 35 | -------------------------------------------------------------------------------- /14569/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | 4 | val lectures = List(readLine()!!.toInt()) { 5 | val list = readLine()!!.split(" ").map { it.toInt() }.drop(1) 6 | 7 | var bitset = 0L 8 | for (i in list) { 9 | bitset = bitset or (1L shl i) 10 | } 11 | 12 | bitset 13 | } 14 | 15 | List(readLine()!!.toInt()) { 16 | val list = readLine()!!.split(" ").map { it.toInt() }.drop(1) 17 | var bitset = 0L 18 | for (i in list) { 19 | bitset = bitset or (1L shl i) 20 | } 21 | 22 | lectures.count { (bitset and it) == it } 23 | }.joinToString("\n").let(::println) 24 | } 25 | -------------------------------------------------------------------------------- /3709/solution.py: -------------------------------------------------------------------------------- 1 | LEFT = 0 2 | UP = 1 3 | RIGHT = 2 4 | DOWN = 3 5 | 6 | vectors = [(-1, 0), (0, 1), (1, 0), (0, -1)] 7 | 8 | 9 | class Laser: 10 | def __init__(self, board, x, y): 11 | self.board = board 12 | 13 | 14 | class Board: 15 | def __init__(self, size): 16 | self.size = size 17 | self.real = [[False for _ in range(size)] for _ in range(size)] 18 | 19 | def set_mirror(self, x, y): 20 | self.real[x][y] = True 21 | 22 | def has_mirror(self, x, y): 23 | return x >= 0 and x < self.size and y >= 0 and y < self.size and self.real[x][y] 24 | 25 | def debug(self): 26 | for y, row in self.real[-1::-1]: 27 | print(" ".join(["()" if v else "__" for v in row])) 28 | -------------------------------------------------------------------------------- /15720/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val discountable = readLine()!!.split(" ").map { it.toInt() }.min()!! 3 | val burgers = readLine()!!.split(" ").map { it.toInt() }.sortedDescending() 4 | val sideMenus = readLine()!!.split(" ").map { it.toInt() }.sortedDescending() 5 | val drinks = readLine()!!.split(" ").map { it.toInt() }.sortedDescending() 6 | 7 | println(burgers.sum() + sideMenus.sum() + drinks.sum()) 8 | println( 9 | burgers.take(discountable).sum() * 9 / 10 + burgers.drop(discountable).sum() + 10 | sideMenus.take(discountable).sum() * 9 / 10 + sideMenus.drop(discountable).sum() + 11 | drinks.take(discountable).sum() * 9 / 10 + drinks.drop(discountable).sum() 12 | ) 13 | } -------------------------------------------------------------------------------- /2133/solution.kt: -------------------------------------------------------------------------------- 1 | val dpE = mutableMapOf(1 to 1) 2 | val dpL = mutableMapOf(1 to 1) 3 | 4 | fun solve(n: Int, isLShaped: Boolean): Int { 5 | if (n <= 0) { 6 | return 1 7 | } 8 | if(isLShaped) { 9 | if (n !in dpL) { 10 | dpL[n] = solve(n - 1, false) + solve(n - 2, true) 11 | } 12 | return dpL[n]!! 13 | } else { 14 | if (n !in dpE) { 15 | dpE[n] = solve(n - 2, false) + solve(n - 1, true) * 2 16 | } 17 | return dpE[n]!! 18 | } 19 | } 20 | 21 | 22 | fun main(args: Array) { 23 | val n = readLine()!!.toInt() 24 | if (n % 2 == 0) { 25 | println(solve(n, false)) 26 | } else { 27 | println(0) 28 | } 29 | } -------------------------------------------------------------------------------- /1992/solution.py: -------------------------------------------------------------------------------- 1 | 2 | def compress_quadtree(array, n): 3 | if n == 1: 4 | return str(array[0][0]) 5 | half = n // 2 6 | data = [ 7 | compress_quadtree([line[:half] for line in array[:half]], half), 8 | compress_quadtree([line[half:] for line in array[:half]], half), 9 | compress_quadtree([line[:half] for line in array[half:]], half), 10 | compress_quadtree([line[half:] for line in array[half:]], half), 11 | ] 12 | if (data[0] == '0' or data[0] == '1') and data[0] == data[1] and data[0] == data[2] and data[0] == data[3]: 13 | return data[0] 14 | else: 15 | return f"({''.join(data)})" 16 | 17 | n = int(input()) 18 | array = [[*input()] for _ in range(n)] 19 | 20 | print(compress_quadtree(array, n)) -------------------------------------------------------------------------------- /1340/README.md: -------------------------------------------------------------------------------- 1 | # 1340 연도 진행바 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Bronze II, 1340 연도 진행바 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 연, 월, 일, 시, 분을 받아서 연도 진행률을 구하는 문제입니다. 28 | 29 | ## 입력 30 | 31 | 예제 입력을 보면 규격이 다음과 같은데, 파싱이 귀찮아보입니다. 32 | 33 | ```text 34 | May 10, 1981 00:31 35 | ``` 36 | 37 | Python 내장 모듈 `re` 를 사용해 파싱을 진행했습니다. 38 | 39 | ## 풀이 40 | 41 | 문제 본문에 나와있듯 윤년을 고려해가며 보낸 날 수를 셉니다. 42 | 이번 달과 오늘은 아직 완전히 지나가지 않았으므로 1을 빼야합니다. 43 | 그리고 시간, 분을 적절한 상수로 나누고 더하면 끝. 44 | -------------------------------------------------------------------------------- /12789/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | readLine() 3 | val studentList = readLine()!!.split(" ").map { it.toInt() } 4 | val stack = java.util.ArrayDeque() 5 | var acceptableId = 1 6 | for (i in studentList) { 7 | if (i == acceptableId) { 8 | acceptableId += 1 9 | continue 10 | } 11 | while (stack.peekLast() == acceptableId) { 12 | acceptableId += 1 13 | stack.pollLast() 14 | } 15 | stack.addLast(i) 16 | } 17 | for (i in stack.reversed()) { 18 | if (i == acceptableId) { 19 | acceptableId += 1 20 | } else { 21 | println("Sad") 22 | return 23 | } 24 | } 25 | println("Nice") 26 | } 27 | -------------------------------------------------------------------------------- /11725/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 노드의 개수 {@ var: n @}을 입력받고, 9 | 그 뒤로 {@ var: n @} - 1개의 줄에 간선을 입력받습니다. 10 | 그래프를 입력받고 1번 노드을 루트라고 했을 때, 11 | 2번 노드부터 {@ var: n @}번 노드까지 해당 노드의 부모를 출력합니다. 12 | 13 | ## 풀이 14 | 15 | 두 노드가 연결되었다는 정보만으로는 부모가 둘 중 무엇인지 알 수 없습니다. 16 | 모든 노드를 연결한 후 1번 노드에서 탐색을 진행해 부모인 노드를 알아내야 합니다. 17 | 18 | ### 예제 입력 1 19 | 20 | ~~~dot 21 | ` 22 | graph Example1 { 23 | 1 -- 6 24 | 6 -- 3 25 | 3 -- 5 26 | 1 -- 4 27 | 4 -- 2 28 | 4 -- 7 29 | } 30 | ` 31 | ~~~ 32 | 33 | ### 예제 입력 2 34 | 35 | ~~~dot 36 | ` 37 | graph Example2 { 38 | 1 -- 2 39 | 2 -- 4 40 | 4 -- 7 41 | 4 -- 8 42 | 1 -- 3 43 | 3 -- 5 44 | 5 -- 9 45 | 5 -- 10 46 | 3 -- 6 47 | 6 -- 11 48 | 6 -- 12 49 | } 50 | ` 51 | ~~~ 52 | -------------------------------------------------------------------------------- /18429/solution.py: -------------------------------------------------------------------------------- 1 | dp = {} 2 | 3 | 4 | def key(array): 5 | return ",".join(map(str, array)) 6 | 7 | 8 | def solve(array, curr, k): 9 | if len(array) == 0: 10 | return 0 11 | elif len(array) == 1: 12 | return 0 if curr - k + array[0] < 500 else 1 13 | result = 0 14 | for index in range(len(array)): 15 | if curr - k + array[index] < 500: 16 | continue 17 | subarray = array[:index] + array[index + 1 :] 18 | dpkey = key(subarray) 19 | if dpkey not in dp: 20 | dp[dpkey] = solve(subarray, curr - k + array[index], k) 21 | result += dp[dpkey] 22 | return result 23 | 24 | 25 | n, k = map(int, input().split()) 26 | arr = sorted(list(map(int, input().split()))) 27 | 28 | print(solve(arr, 500, k)) 29 | -------------------------------------------------------------------------------- /3213/solution.py: -------------------------------------------------------------------------------- 1 | from math import ceil 2 | 3 | half = 0 4 | one_quarter = 0 5 | three_quarter = 0 6 | 7 | count = int(input()) 8 | 9 | pizzas = 0 10 | 11 | for _ in range(count): 12 | curr = input() 13 | if curr == "1/2": 14 | half += 1 15 | elif curr == "1/4": 16 | one_quarter += 1 17 | elif curr == "3/4": 18 | three_quarter += 1 19 | 20 | if three_quarter > 0: 21 | if one_quarter >= three_quarter: 22 | pizzas += three_quarter 23 | one_quarter -= three_quarter 24 | else: 25 | pizzas += three_quarter 26 | one_quarter = 0 27 | 28 | pizzas += half // 2 29 | if half % 2 != 0: 30 | pizzas += 1 31 | one_quarter -= 2 32 | if one_quarter > 0: 33 | pizzas += ceil(one_quarter / 4) 34 | 35 | print(pizzas) 36 | -------------------------------------------------------------------------------- /12779/solution.kt: -------------------------------------------------------------------------------- 1 | fun gcd(a: Long, b: Long): Long = 2 | if (a % b == 0L) { 3 | b 4 | } else { 5 | gcd(b, a%b) 6 | } 7 | 8 | fun main(args: Array) { 9 | val (a, b) = readLine()!!.split(" ").map { it.toLong() } 10 | var answer = 0L 11 | for (i in 1L..1073741824L) { 12 | val square = i * i 13 | if (square > b) { 14 | break 15 | } 16 | if (a < square && square <= b) { 17 | answer += 1L 18 | } 19 | } 20 | val diff = b - a 21 | val gcdResult = gcd(answer, diff) 22 | val denominator = answer / gcdResult 23 | val numerator = diff / gcdResult 24 | if (denominator == 0L) { 25 | println("0") 26 | } else { 27 | println("$denominator/$numerator") 28 | } 29 | } -------------------------------------------------------------------------------- /16510/README.md: -------------------------------------------------------------------------------- 1 | # 16510 Predictable Queue 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver I, 16510 Predictable Queue 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 일의 개수 n과 테스트케이스의 수 m이 주어지고 28 | 각 일에 들어가는 시간들이 주어질 때, T만큼 시간이 있다면, 29 | 앞에서부터 몇 개의 일을 마칠 수 있는지 구하는 문제입니다. 30 | 31 | ## 풀이 32 | 33 | 지금 일을 끝내려면 앞 일을 끝내야 하므로, 34 | 앞 일을 처리하는 데에 걸린 시간 + 지금 일에 걸리는 시간이 있어야 지금 일을 처리할 수 있습니다. 35 | 이렇게 앞부터 하나하나 누적합을 구한 다음, T를 이진 탐색하면 됩니다. 36 | -------------------------------------------------------------------------------- /1904/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | 0과 1이 쓰인 타일이 있습니다. 0은 언제나 00으로 붙어있습니다. 9 | {@ var: n @}이 주어질 때, 10 | 위 타일로 만들 수 있는 길이가 {@ var: n @}인 2진 수열의 개수를 구하는 문제입니다. 11 | 12 | ## 풀이 13 | 14 | | {@ var: n @} | 만들 수 있는 2진 수열 | 15 | | 1 | `1` | 16 | | 2 | `11`, `00` | 17 | | 3 | `111`, `100`, `001` | 18 | 19 | 1이거나 2일 때는 간단하게 구할 수 있습니다. 20 | 3보다 커지면 맨 앞을 `1`로 채우거나 `00`으로 채울 수 있습니다. 21 | 만약 `1`로 채운다면 {@ var: n @} - 1 길이인 2진 수열들이 뒤에 붙을 수 있을 것이며, 22 | `00`으로 채운다면 {@ var: n @} - 2 길이인 2진 수열들이 뒤에 붙을 수 있을 것입니다. 23 | 점화식으로 나타내면 다음과 같습니다: 24 | 25 | {@ math: F(n) = F(n - 1) + F(n - 2) @} 26 | 27 | 매우 익숙합니다, 네 피보나치 수열입니다! 28 | 따라서 {@ math: n @}번째 피보나치 수를 구하면 됩니다. 29 | 15746로 나눈 나머지임에 주의해야 합니다. 30 | -------------------------------------------------------------------------------- /17478/solution.py: -------------------------------------------------------------------------------- 1 | outer_top = ["어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다."] 2 | wrapper = [ 3 | '"재귀함수가 뭔가요?"', 4 | '"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.', 5 | "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.", 6 | '그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."', 7 | ] 8 | inner = ['"재귀함수가 뭔가요?"', '"재귀함수는 자기 자신을 호출하는 함수라네"'] 9 | end = ["라고 답변하였지."] 10 | 11 | 12 | def printalt(depth, s): 13 | for line in s: 14 | print("____" * depth + line) 15 | 16 | 17 | def recurse(n, depth): 18 | if n == depth: 19 | printalt(depth, inner) 20 | printalt(depth, end) 21 | return 22 | if depth == 0: 23 | printalt(depth, outer_top) 24 | printalt(depth, wrapper) 25 | recurse(n, depth + 1) 26 | printalt(depth, end) 27 | 28 | 29 | recurse(int(input()), 0) 30 | -------------------------------------------------------------------------------- /2718/solution.kt: -------------------------------------------------------------------------------- 1 | val dpE = mutableMapOf(0 to 1, 1 to 1) 2 | val dpP = mutableMapOf(0 to 0, 1 to 1) 3 | val dpC = mutableMapOf(0 to 0, 1 to 1) 4 | 5 | var depth = 0 6 | 7 | fun E(n: Int): Int { 8 | if (n !in dpE) { 9 | dpE[n] = E(n - 1) + E(n - 2) + 2 * P(n - 1) + C(n - 1) 10 | } 11 | return dpE[n]!! 12 | } 13 | 14 | fun P(n: Int): Int { 15 | if (n !in dpP) { 16 | dpP[n] = E(n - 1) + P(n - 1) 17 | } 18 | return dpP[n]!! 19 | } 20 | 21 | fun C(n: Int): Int { 22 | if (n !in dpC) { 23 | dpC[n] = E(n - 1) + C(n - 2) 24 | } 25 | return dpC[n]!! 26 | } 27 | 28 | fun main(args: Array) { 29 | List(readLine()!!.toInt()) { 30 | E(readLine()!!.toInt()) 31 | } 32 | .joinToString("\n") 33 | .let(::println) 34 | } -------------------------------------------------------------------------------- /1149/README.md: -------------------------------------------------------------------------------- 1 | # 1149 RGB거리 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver I, 1149 RGB거리 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 앞뒤 집과 색이 다르게 집을 칠하되, 가장 싼 가격으로 칠하는 문제입니다. 28 | 모든 집을 고려하면 힘드니 두 집만 생각하면 편할 것 같습니다. 29 | 30 | ## 풀이 31 | 32 | 지금 집에 색을 칠할 때, 최선의 경우는 다음과 같습니다. 33 | 34 | - R : 이전 집의 G, B를 칠하는 가격 중 최소 + 현재 가격 35 | - G : 이전 집의 R, B를 칠하는 가격 중 최소 + 현재 가격 36 | - B : 이전 집의 R, G를 칠하는 가격 중 최소 + 현재 가격 37 | 38 | 이전 집의 R, G, B를 저장하고 매번 최선을 고르면 됩니다. [1] 39 | 40 | [1]: https://daily-boj.github.io/RanolP/1149/playground.html 41 | -------------------------------------------------------------------------------- /2014/solution.kt: -------------------------------------------------------------------------------- 1 | import java.util.* 2 | 3 | fun main() { 4 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 5 | 6 | val (k, n) = readLine()!!.split(" ").map { it.toInt() } 7 | val primes = readLine()!!.split(" ").map { it.toLong() } 8 | val q = PriorityQueue(100_000) 9 | val s = HashSet(100_000) 10 | q.addAll(primes) 11 | s.addAll(primes) 12 | 13 | var answer = -1L 14 | 15 | for (i in 0 until n) { 16 | answer = q.poll() 17 | for (number in primes) { 18 | val v = answer * number 19 | if (v !in s) { 20 | q.add(v) 21 | s.add(v) 22 | } 23 | if (answer % number == 0L) { 24 | break 25 | } 26 | } 27 | } 28 | 29 | println(answer) 30 | } 31 | -------------------------------------------------------------------------------- /17245/solution.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | whole = 0 3 | computer_map = {} 4 | for _ in range(n): 5 | for i in map(int, input().split()): 6 | whole += i 7 | if i not in computer_map: 8 | computer_map[i] = 0 9 | computer_map[i] += 1 10 | 11 | half = whole // 2 + (1 if whole % 2 != 0 else 0) 12 | 13 | 14 | def evaluate(height): 15 | return sum( 16 | [ 17 | min(height * count, computers * count) 18 | for computers, count in computer_map.items() 19 | ] 20 | ) 21 | 22 | 23 | lo = 0 24 | hi = whole 25 | while lo < hi: 26 | med = (lo + hi) // 2 27 | computers = evaluate(med) 28 | if half < computers: 29 | hi = med 30 | elif half > computers: 31 | lo = med + 1 32 | else: 33 | lo = med 34 | break 35 | 36 | print(lo) 37 | -------------------------------------------------------------------------------- /3863/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | 4 | val lines = System.`in`.bufferedReader().lines().iterator() 5 | 6 | while (lines.hasNext()) { 7 | val (n, m) = lines.next().split(" ").map { it.toInt() } 8 | if (n == 0 && m == 0) { 9 | break 10 | } 11 | val calls = List(n) { 12 | val (src, dest, start, dur) = lines.next().split(" ").map { it.toLong() } 13 | Pair(start, start + dur) 14 | } 15 | List(m) { 16 | val (start, dur) = lines.next().split(" ").map { it.toLong() } 17 | val end = start + dur 18 | calls.asSequence().count { (cStart, cEnd) -> minOf(end, cEnd) - maxOf(cStart, start) >= 1 } 19 | }.joinToString("\n").let(::println) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /9693/Note.md: -------------------------------------------------------------------------------- 1 | # {@ problem-title @} 2 | 3 | ~~~problem-info-table 4 | ~~~ 5 | 6 | ## 문제 분석 7 | 8 | {@ math: N! / 10^M @}이 정수가 되는 값 중 가장 큰수를 구하는 문제입니다. 9 | N이 5보다 크므로 정답은 1보다 큼이 보장됩니다. 10 | 11 | ## 풀이 12 | 13 | ### 정리 14 | 15 | 1, 2, 3, 4, ...이 5를 몇 개 갖고 있는지 계산해서 저장해둡니다. 16 | 이 때, 계속 5로 나누는 방법을 사용해 이전에 계산한 결과를 활용합니다. 17 | 5의 인수 개수 누적합을 만들어 n번 값을 출력합니다. 18 | 19 | ### 보조 정리: 5 ≤ n인 n!이 가진 2의 인수는 5보다 많다 20 | 21 | 모든 정수는 다음을 만족합니다: 22 | 23 | - mod 10이 0, 2, 4, 6, 8인 경우 2의 배수 24 | - mod 10이 0, 5인 경우 5의 배수 25 | 26 | 따라서 2를 인수로 가지는 수가 5를 인수로 가지는 수보다 5/2배 더 많다고 할 수 있습니다. 27 | 28 | 또, {@ math: 2^x @}가 {@ math: 5^x @}보다 더 느리게 증가하므로, 29 | 10 ≤ a, b이고 |a - b| ≤ 10인 두 정수를 소인수분해 했을 때, 2의 차수가 더 높다고 추측할 수 있습니다. 30 | 31 | 따라서 1, 2, 3, ..., n - 1, n을 모두 곱하는 n!의 인수는 2가 많다고 볼 수 있습니다. 32 | 33 | ...추측인데 왜 증명이냐구요? 34 | 35 | ~~~pirim 36 | "proof-by-ac" 37 | ~~~ 38 | -------------------------------------------------------------------------------- /9461/README.md: -------------------------------------------------------------------------------- 1 | # 9461 파도반 수열 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
랭크상태
12 | 13 | 14 | Silver III, 9461 파도반 수열 15 | 16 | 18 | 성공 19 |
22 | 23 | 24 | 25 | ## 문제 분석 26 | 27 | 가장 안쪽부터 삼각형을 가장 긴 변에 붙여가며 도형을 만들어 나갑니다. 28 | 29 | ## 풀이 30 | 31 | 점화식은 다음과 같습니다. 32 | 33 | P(n) = P(n - 1) + P(n - 5) 34 | 35 | 문제에 앞 10개의 값이 주어져 있으므로 n - 5가 나오지 않을 일은 없습니다. 36 | DP 배열을 하나 만들고 재귀로 풀면 됩니다. 37 | -------------------------------------------------------------------------------- /2508/solution.py: -------------------------------------------------------------------------------- 1 | t = int(input()) 2 | 3 | while t > 0: 4 | curr = 0 5 | input() 6 | height, width = map(int, input().split()) 7 | matrix = eval("input()," * height) 8 | 9 | candies = 0 10 | 11 | for i in range(height): 12 | for j in range(width): 13 | if matrix[i][j] == "o" and ( 14 | ( 15 | i > 0 16 | and i + 1 < height 17 | and matrix[i - 1][j] == "v" 18 | and matrix[i + 1][j] == "^" 19 | ) 20 | or ( 21 | j > 0 22 | and j + 1 < width 23 | and matrix[i][j - 1] == ">" 24 | and matrix[i][j + 1] == "<" 25 | ) 26 | ): 27 | candies += 1 28 | print(candies) 29 | 30 | t -= 1 31 | -------------------------------------------------------------------------------- /17829/solution.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | fun pooling(matrix: List>): List> { 3 | if (matrix.size == 1) { 4 | return matrix 5 | } 6 | return List(matrix.size / 2) { i -> 7 | List(matrix.size / 2) { j -> 8 | listOf( 9 | matrix[i * 2][j * 2], 10 | matrix[i * 2 + 1][j * 2], 11 | matrix[i * 2][j * 2 + 1], 12 | matrix[i * 2 + 1][j * 2 + 1] 13 | ).sorted().dropLast(1).last() 14 | } 15 | } 16 | } 17 | 18 | val size = readLine()!!.toInt() 19 | var matrix = List(size) { 20 | readLine()!!.split(" ").map { it.toInt() } 21 | } 22 | while (matrix.size > 1) { 23 | matrix = pooling(matrix) 24 | } 25 | println(matrix[0][0]) 26 | } 27 | -------------------------------------------------------------------------------- /7481/solution.kt: -------------------------------------------------------------------------------- 1 | fun main() { 2 | System.setOut(java.io.PrintStream(System.`out`, false, "UTF-8")) 3 | repeat(readLine()!!.toInt()) { 4 | val (a, b, s) = readLine()!!.split(" ").map { it.toInt() } 5 | val min = minOf(a, b) 6 | val max = maxOf(a, b) 7 | val requireReverse = a > b 8 | 9 | for (maxCount in (0..(s / max + 1)).reversed()) { 10 | val minMultMinCount = s - max * maxCount 11 | if (minMultMinCount >= 0 && minMultMinCount % min == 0) { 12 | if (requireReverse) { 13 | println("$maxCount ${(minMultMinCount / min)}") 14 | } else { 15 | println("${(minMultMinCount / min)} $maxCount") 16 | } 17 | return@repeat 18 | } 19 | } 20 | 21 | println("Impossible") 22 | } 23 | } 24 | --------------------------------------------------------------------------------