├── .gitignore
├── Algorithm-practice.iml
├── README.md
├── notes
├── Basic
│ └── README.md
├── DataStructure
│ ├── Array+LinkedList.md
│ ├── README.md
│ ├── Stack+Queue.md
│ └── Trie.md
├── Graph
│ ├── DisjointSet.md
│ ├── Graph.md
│ └── TopologicalSort.md
├── README.md
└── Sort
│ └── QuickSort
│ ├── Main.java
│ └── README.md
└── src
├── Array
├── CyclicRotation
│ ├── Main.java
│ └── README.md
├── FrogRiverOne
│ ├── Main.java
│ └── README.md
├── MaxCounters
│ ├── Main.java
│ └── README.md
├── MissingInteger
│ ├── Main.java
│ └── README.md
├── OddOccurrencesInArray
│ ├── Main.java
│ └── README.md
├── P20299
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── PermCheck
│ ├── Main.java
│ └── README.md
├── swea1208
│ ├── README.md
│ ├── Solution.java
│ └── input.txt
├── swea1210
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── swea1954
│ ├── README.md
│ ├── Solution.java
│ └── input.txt
├── swea2001
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
└── swea2805
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── BFS
├── P1039
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1194
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P13460
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P13549
│ ├── Main.java
│ └── README.md
├── P14226
│ ├── Main.java
│ └── README.md
├── P14502
│ ├── Main.java
│ ├── Main2.java
│ ├── README.md
│ └── input.txt
├── P1525
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1600
│ ├── Main.java
│ ├── Main2.java
│ ├── README.md
│ └── input.txt
├── P16236
│ ├── Main.java
│ ├── Main2.java
│ ├── README.md
│ └── input.txt
├── P1697
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1743
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1938
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1939
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P20304
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2178
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2206
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P3055
│ ├── Main.java
│ ├── README.md
│ └── input1.txt
├── P7576
│ ├── Main.java
│ ├── Main2.java
│ ├── README.md
│ └── input.txt
├── swea10966
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── swea1238
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── swea1249
│ ├── README.md
│ ├── Solution.java
│ ├── Solution2.java
│ ├── input.txt
│ └── output.txt
└── swea1953
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── BruteForce
├── P14889
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P16637
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P17136
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P17471
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2468
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2961
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P3040
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── prg42839
│ ├── Main.java
│ └── README.md
├── prg42842
│ ├── Main.java
│ └── README.md
├── swea1247
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── swea3234
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
└── swea4012
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── Combination
├── P1007
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1010
│ ├── Main.java
│ └── input.txt
├── P11050
│ └── Main.java
├── P11051
│ └── Main.java
├── P1256
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2798
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── swea9229
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── DAC
├── P1074
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P10830
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── P1992
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── DFS
├── P1062
│ ├── Main.java
│ ├── Main2.java
│ ├── README.md
│ └── input.txt
├── P10971
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1103
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P13023
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14500
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14501
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14888
│ ├── Main.java
│ └── README.md
├── P1520
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P15658
│ ├── Main.java
│ └── README.md
├── P17070
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1759
│ ├── Main.java
│ ├── Main2.java
│ ├── README.md
│ └── input.txt
├── P1937
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1987
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P20164
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2667
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P3109
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P4963
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── prg12952
│ ├── Main.java
│ └── README.md
├── swea1949
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── swea2105
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
└── swea5215
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── DFSandBFS
├── P1260
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── P2573
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── DP
├── MinAbsSum
│ └── Main.java
├── P1003
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P10844
│ ├── Main.java
│ └── README.md
├── P11048
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11052
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11053
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11054
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11055
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11057
│ ├── Main.java
│ └── README.md
├── P11066
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1149
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11659
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11660
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11722
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11726
│ ├── Main.java
│ └── README.md
├── P11727
│ ├── Main.java
│ └── README.md
├── P12852
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P12865
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1328
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P13398
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14002
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1463
│ ├── Main.java
│ └── README.md
├── P15678
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P15988
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P15990
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P16194
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1699
│ ├── Main.java
│ └── README.md
├── P17845
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1912
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1932
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2098
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2156
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2193
│ ├── Main.java
│ └── README.md
├── P2225
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2294
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2533
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2579
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2629
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P9095
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P9465
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── jo1681
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── prg42895
│ ├── Main.java
│ └── README.md
├── swea1861
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
└── swea1952
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── GCD
├── GCDTest.java
├── P14476
│ ├── Main.java
│ └── input.txt
├── P1735
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── P2609
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── Graph
├── P11404
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11657
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11724
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1197
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14621
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P16398
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P16562
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1707
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1717
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1738
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P17472
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1753
│ ├── Main.java
│ ├── Main2.java
│ ├── README.md
│ └── input.txt
├── P1854
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1944
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P21276
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P21278
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2252
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2458
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P3860
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P4195
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P4386
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P5719
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P9205
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── jo1863
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── prg43162
│ ├── Main.java
│ └── README.md
├── prg49189
│ ├── README.md
│ └── Solution.java
├── prg49191
│ ├── README.md
│ └── Solution.java
├── swea1251
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── swea1263
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
└── swea3289
│ ├── README.md
│ ├── Solution.java
│ └── sample_input.txt
├── Greedy
├── P1092
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11047
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1343
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2839
│ ├── Main.java
│ ├── README.md
│ └── usingDP.java
├── P2847
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── jo1828
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── Hash
├── P1764
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── prg42576
│ ├── README.md
│ └── Solution.java
├── prg42577
│ ├── README.md
│ └── Solution.java
├── prg42578
│ ├── README.md
│ └── Solution.java
└── prg42579
│ ├── Main.java
│ └── README.md
├── Heap
├── P11279
│ ├── Main.java
│ └── input.txt
├── P11286
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1202
│ ├── Main.java
│ └── input.txt
├── P1927
│ ├── Main.java
│ └── input.txt
├── P7662
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── prg42626
│ ├── Main.java
│ └── README.md
├── prg42627
│ ├── Main.java
│ └── README.md
└── prg42628
│ ├── Main.java
│ └── README.md
├── Implementation
├── P10713
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11005
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P12933
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P15787
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P16463
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P16719
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P20546
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P21608
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2615
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2877
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P4396
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── prg70130
│ ├── Main.java
│ └── README.md
├── prg84512
│ ├── Main.java
│ └── README.md
├── prg85002
│ ├── Main.java
│ └── README.md
└── prg86048
│ ├── Main.java
│ └── README.md
├── IndexedTree
├── IndexedTreeTest.java
├── P10868
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P11505
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1275
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P12837
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2042
│ ├── Main.java
│ └── input.txt
├── P2243
│ ├── Main.java
│ └── input.txt
├── P2268
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2357
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── P5676
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── Iterations
├── BinaryGap
│ ├── Main.java
│ └── README.md
├── swea1289
│ ├── README.md
│ ├── Solution.java
│ └── input.txt
├── swea3499
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── swea4789
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── swea5356
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── swea6485
│ ├── README.md
│ ├── Solution.java
│ ├── s_input.txt
│ └── s_output.txt
└── swea7964
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── List
└── P18115
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── Math
├── P13458
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2108
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P21275
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── swea8382
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── Permutation
├── P10972
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P10973
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P10974
│ ├── Main.java
│ └── README.md
├── P1722
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P5568
│ ├── Main.java
│ └── input.txt
├── P9742
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── swea6808
│ ├── README.md
│ ├── Solution.java
│ ├── s_input.txt
│ └── s_output.txt
├── Prime
├── P1644
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1929
│ ├── Main.java
│ └── README.md
├── P1978
│ ├── Main.java
│ └── README.md
├── P6588
│ ├── Main.java
│ └── README.md
└── swea4698
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── Probability
└── P13251
│ ├── Main.java
│ └── input.txt
├── Queue
├── P10845
│ ├── Main.java
│ └── input.txt
├── P1158
│ ├── Main.java
│ ├── Main2.java
│ ├── Main3.java
│ ├── README.md
│ └── input.txt
├── P18258
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1966
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P3190
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── prg42583
│ ├── README.md
│ └── Solution.java
├── prg42586
│ ├── README.md
│ └── Solution.java
├── prg42587
│ ├── README.md
│ └── Solution.java
└── swea1225
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── Recursion
├── P17478
│ ├── Main.java
│ └── README.md
└── P1914
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── Series
├── NandM
│ ├── P15649
│ │ └── Main.java
│ ├── P15650
│ │ └── Main.java
│ ├── P15651
│ │ ├── Main.java
│ │ └── README.md
│ ├── P15652
│ │ └── Main.java
│ ├── P15654
│ │ └── Main.java
│ ├── P15655
│ │ └── Main.java
│ ├── P15656
│ │ └── Main.java
│ ├── P15657
│ │ └── Main.java
│ ├── P15663
│ │ └── Main.java
│ ├── P15664
│ │ └── Main.java
│ ├── P15665
│ │ └── Main.java
│ ├── P15666
│ │ └── Main.java
│ └── input.txt
└── 수열과쿼리
│ ├── P13537
│ ├── Main.java
│ └── README.md
│ ├── P13544
│ ├── Main.java
│ └── README.md
│ └── input.txt
├── Simulation
├── P10163
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1022
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P12100
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1244
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P13300
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14499
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14503
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14891
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P15662
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P15683
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P15686
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P16927
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P16935
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1713
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P17135
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P17144
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P17281
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P17406
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P17779
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P19236
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2174
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2477
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2563
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2564
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2571
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2636
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2931
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P3954
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── jo1037
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── jo1205
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── swea1767
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── swea1873
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── swea2115
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── swea4014
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── swea5656
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
└── swea9760
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── Sort
├── P10989
│ ├── Main.java
│ └── README.md
├── P11931
│ ├── Main.java
│ └── README.md
├── P15688
│ ├── Main.java
│ └── README.md
├── P2750
│ ├── Main.java
│ └── README.md
├── P2751
│ ├── Main.java
│ └── README.md
├── input.txt
├── prg42746
│ ├── Main.java
│ └── README.md
├── prg42747
│ ├── Main.java
│ └── README.md
└── prg42748
│ ├── Main.java
│ └── README.md
├── Stack
├── P10799
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P10828
│ ├── Main.java
│ └── input.txt
├── P17298
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1863
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1918
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2493
│ ├── Main.java
│ ├── Main2.java
│ ├── README.md
│ └── input.txt
├── P2504
│ ├── Main.java
│ └── input.txt
├── P2800
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2867
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P3425
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── prg42584
│ ├── README.md
│ └── Solution.java
├── swea1218
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
└── swea1223
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── String
├── P10256
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1213
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1305
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P13505
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14425
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14426
│ ├── Main.java
│ ├── README.md
│ ├── input.txt
│ └── usingTrie.java
├── P15740
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P17413
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1786
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P5052
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P6503
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P9093
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P9250
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P9252
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── P9342
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── TimeComplexity
├── FrogJmp
│ ├── Main.java
│ └── README.md
├── P12015
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P12738
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P14003
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P15961
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P16566
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1806
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2003
│ ├── Main.java
│ └── input.txt
├── P2143
│ ├── Main.java
│ └── input.txt
├── P2748
│ └── Main.java
├── P2805
│ ├── Main.java
│ └── input.txt
├── PermMissingElem
│ ├── Main.java
│ └── README.md
├── TapeEquilibrium
│ ├── Main.java
│ └── README.md
├── prg43238
│ ├── Main.java
│ └── README.md
└── swea3307
│ ├── README.md
│ ├── Solution.java
│ ├── sample_input.txt
│ └── sample_output.txt
├── Tree
├── P1068
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1167
│ ├── Main.java
│ ├── Main2.java
│ ├── README.md
│ └── input.txt
├── P11725
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P1991
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P2263
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── swea1233
│ ├── README.md
│ ├── Solution.java
│ ├── input.txt
│ └── output.txt
├── Trie
├── P5670
│ ├── Main.java
│ ├── README.md
│ └── input.txt
├── P9202
│ ├── Answer
│ │ └── Main.java
│ ├── Main.java
│ ├── README.md
│ └── input.txt
└── TrieTest.java
├── _2019_KAKAO_BLIND_RECRUITMENT
├── P1
│ ├── Main.java
│ └── README.md
├── P2
│ ├── Main.java
│ └── README.md
├── P3
│ ├── Main.java
│ └── README.md
└── P6
│ ├── Main.java
│ └── README.md
├── _2020_KAKAO_BLIND_RECRUITMENT
├── P1
│ ├── 210103.js
│ ├── Main.java
│ └── README.md
├── P2
│ ├── 210109.js
│ ├── Main.java
│ └── README.md
├── P3
│ ├── Main.java
│ └── README.md
├── P4
│ ├── Main.java
│ └── README.md
├── P5
│ ├── Main.java
│ └── README.md
├── P6
│ ├── Main.java
│ └── README.md
└── P7
│ ├── Main.java
│ └── README.md
├── _2020_카카오_인턴십
├── P1
│ ├── Main.java
│ └── README.md
├── P2
│ ├── Main.java
│ └── README.md
├── P3
│ ├── Main.java
│ └── README.md
├── P4
│ ├── Main.java
│ └── README.md
└── P5
│ ├── Main.java
│ └── README.md
└── _2021_KAKAO_BLIND_RECRUITMENT
├── P1
├── Main.java
└── README.md
├── P2
├── Main.java
└── README.md
├── P3
├── Main.java
└── README.md
└── P4
├── Main.java
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | out/
3 | _TEST/
4 | _XPractice/
--------------------------------------------------------------------------------
/Algorithm-practice.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/notes/DataStructure/Array+LinkedList.md:
--------------------------------------------------------------------------------
1 | # 배열(Array)과 연결 리스트(Linked List)
2 |
3 | 배열과 연결 리스트는 서로 반대되는 특징을 가졌다.
4 |
5 | ## Array (배열)
6 |
7 | 동일한 자료형의 데이터를 일렬로 나열한 자료구조이다.
8 |
9 | - 선형 자료구조
10 | - 데이터 접근이 용이하다. (인덱스로 접근)
11 | - 데이터 삽입/삭제가 어렵다.
12 | - 구조가 간단하여 프로그램 작성이 쉽다.
13 |
14 | ## Linked List (연결 리스트)
15 |
16 | 각 노드가 **데이터**와 **포인터**를 가지고 일렬로 연결되어 있는 방식이다.
17 |
18 | - 선형 자료구조
19 | - 데이터의 접근이 느리다. (링크를 타고 가서 찾아야 한다.)
20 | - 데이터의 삽입/삭제 연산이 용이하다.
21 | - 포인터를 위한 추가 공간이 필요하다.
22 |
--------------------------------------------------------------------------------
/notes/README.md:
--------------------------------------------------------------------------------
1 | # Notes
2 |
3 | ## 📖 Basic
4 |
5 | 1. [알고리즘 기초](./Basic)
6 |
7 | ## 📖 Data Structure
8 |
9 | 1. [자료구조(Data Structure)](./DataStructure)
10 | 2. [배열(Array)과 연결 리스트(Linked List)](./DataStructure/Array+LinkedList.md)
11 | 3. [스택(Stack)과 큐(Queue) 그리고 덱(Deque)](./DataStructure/Stack+Queue.md)
12 | 4. [트라이(Trie)](./DataStructure/Trie.md)
13 |
14 | ## 📖 Graph
15 |
16 | 1. [그래프(Graph)](./Graph/Graph.md)
17 | 2. [서로소 집합(Disjoint Set)과 Union-Find 알고리즘](./Graph/DisjointSet.md)
18 | 3. [DAG(Directed Acyclic Graph)와 위상정렬(Topological Sort)](./Graph/TopologicalSort.md)
19 |
20 | ## 📖 Sort
21 |
22 | 1. [퀵정렬(QuickSort)](./Sort/QuickSort)
--------------------------------------------------------------------------------
/src/Array/CyclicRotation/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 2 Arrays] CyclicRotation
2 |
3 | 
4 |
5 | ### Scoring 과정
6 |
7 | 1. 75% (8 min) : `A.length` < `K` 인 경우를 처리하지 못했음
8 | 2. 87% (2 min) : 1의 경우를 해결하기 위해 `K %= A.length` 연산을 추가하였고, 이 때 `A.length`가 0인 경우를 처리하지 못했음
9 | 3. 100% (2 min)
10 |
--------------------------------------------------------------------------------
/src/Array/FrogRiverOne/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 4 Counting Elements] FrogRiverOne
2 |
3 | > Detected time complexity : **O(N)**
4 |
5 | 
6 | 
7 |
--------------------------------------------------------------------------------
/src/Array/MaxCounters/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 4 Counting Elements] MaxCounters
2 |
3 | > Detected time complexity : **O(N + M)**
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Array/MissingInteger/Main.java:
--------------------------------------------------------------------------------
1 | package Array.MissingInteger;
2 |
3 | public class Main {
4 | public static void main(String[] args) {
5 | Solution sol = new Solution();
6 | System.out.println(sol.solution(new int[]{1, 2, 3}));
7 | }
8 | }
9 |
10 | class Solution {
11 |
12 | static boolean[] check = new boolean[1000001];
13 |
14 | public int solution(int[] A) {
15 | for (int value : A) {
16 | if (value > 0) check[value] = true;
17 | }
18 | int ans = 1;
19 | while (check[ans]) ans ++;
20 | return ans;
21 | }
22 | }
--------------------------------------------------------------------------------
/src/Array/MissingInteger/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 4 Counting Elements] MissingInteger
2 |
3 | > Detected time complexity : **O(N) or O(N * log(N))**
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Array/OddOccurrencesInArray/Main.java:
--------------------------------------------------------------------------------
1 | package Array.OddOccurrencesInArray;
2 |
3 | import java.util.*;
4 |
5 | public class Main {
6 |
7 | public static void main(String[] args) {
8 | Solution s = new Solution();
9 | System.out.println(s.solution(new int[]{9, 3, 9, 3, 9, 7, 9}));
10 | }
11 | }
12 |
13 | class Solution {
14 |
15 | public int solution(int[] A) {
16 | HashSet set = new HashSet<>();
17 | for (int a : A) {
18 | if (set.contains(a)) set.remove(a);
19 | else set.add(a);
20 | }
21 | return (int) set.toArray()[0];
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Array/OddOccurrencesInArray/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 2 Arrays] OddOccurrencesInArray
2 |
3 | 
4 |
5 | ### 다른 풀이 - XOR
6 |
7 | 다른 풀이를 보니 XOR 연산을 통해 풀 수 있는 문제이기도 하다.
8 |
9 | > XOR 연산은 입력값이 같지 않으면 1을 반환한다.
10 | >
11 | > - 0 XOR 0 = 0
12 | > - 0 XOR 1 = 1
13 | > - 1 XOR 0 = 1
14 | > - 1 XOR 1 = 0
15 |
16 | 따라서 다음과 같이 생각해 볼 수 있다.
17 |
18 | - `A == B` : A ^ B = 0
19 | - `A == B != C` : A ^ B ^ C = C
20 |
21 | 이를 코드로 옮기면 다음과 같다.
22 |
23 | ```java
24 | int ans = A[0];
25 | for (int i = 1; i < A.length; i++) {
26 | ans = ans ^ A[i];
27 | }
28 | ```
29 |
--------------------------------------------------------------------------------
/src/Array/P20299/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-20299] 3대 측정
2 |
3 | 
4 |
5 | ### 자료구조에 담지 말고 StringBuilder를 이용할 것
6 |
7 | `x1`, `x2`, `x3` 정보를 특정 자료 구조에 담기엔 N의 크기가 매우 크기 때문에 성능상 적절하지 않다.
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/Array/P20299/input.txt:
--------------------------------------------------------------------------------
1 | 5 5000 1600
2 | 1621 1928 1809
3 | 2300 2300 1499
4 | 1805 1211 1699
5 | 1600 1700 1800
6 | 1792 1617 1830
--------------------------------------------------------------------------------
/src/Array/PermCheck/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 4 Counting Elements] PermCheck
2 |
3 | > Detected time complexity : **O(N) or O(N * log(N))**
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Array/swea1208/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1208] Flatten
2 |
3 | 
4 | 
5 | 
6 | 
7 |
--------------------------------------------------------------------------------
/src/Array/swea1210/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1210] Ladder1
2 |
3 | 
4 | 
5 | 
6 | 
7 | 
8 |
--------------------------------------------------------------------------------
/src/Array/swea1210/output.txt:
--------------------------------------------------------------------------------
1 | #1 67
2 | #2 45
3 | #3 39
4 | #4 24
5 | #5 91
6 | #6 93
7 | #7 90
8 | #8 4
9 | #9 99
10 | #10 35
11 |
12 | // sample test
13 | 1
14 | 1 0 0 0 1 0 1 0 0 1
15 | 1 0 0 0 1 0 1 1 1 1
16 | 1 0 0 0 1 0 1 0 0 1
17 | 1 0 0 0 1 1 1 0 0 1
18 | 1 0 0 0 1 0 1 0 0 1
19 | 1 1 1 1 1 0 1 1 1 1
20 | 1 0 0 0 1 0 1 0 0 1
21 | 1 1 1 1 1 0 1 0 0 1
22 | 1 0 0 0 1 1 1 0 0 1
23 | 1 0 0 0 1 0 1 0 0 2
--------------------------------------------------------------------------------
/src/Array/swea1954/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1954] 달팽이 숫자
2 |
3 | 
4 | 
5 | 
6 |
--------------------------------------------------------------------------------
/src/Array/swea1954/input.txt:
--------------------------------------------------------------------------------
1 | 10
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 6
8 | 7
9 | 8
10 | 9
11 | 10
--------------------------------------------------------------------------------
/src/Array/swea2001/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 2001] 파리 퇴치
2 |
3 | 
4 | 
5 | 
6 |
--------------------------------------------------------------------------------
/src/Array/swea2001/output.txt:
--------------------------------------------------------------------------------
1 | #1 49
2 | #2 159
3 | #3 428
4 | #4 620
5 | #5 479
6 | #6 941
7 | #7 171
8 | #8 968
9 | #9 209
10 | #10 1242
11 |
--------------------------------------------------------------------------------
/src/Array/swea2805/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 2805] 농작물 수확하기
2 |
3 | 
4 | 
5 | 
6 |
--------------------------------------------------------------------------------
/src/BFS/P1039/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1039] 교환
2 |
3 | 어우 그리마 이 문제 일주일만에 풀었다야. 늘 정말 늘 !! 생각하지만, 혼자서 희한한 알고리즘 구상하지 말고 경우의 수는 모든 경우를 탐색하여라.
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BFS/P1039/input.txt:
--------------------------------------------------------------------------------
1 | 132 3
--------------------------------------------------------------------------------
/src/BFS/P1194/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1194] 달이 차오른다, 가자.
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BFS/P1194/input.txt:
--------------------------------------------------------------------------------
1 | 7 8
2 | a#c#eF.1
3 | .#.#.#..
4 | .#B#D###
5 | 0....F.1
6 | C#E#A###
7 | .#.#.#..
8 | d#f#bF.1
--------------------------------------------------------------------------------
/src/BFS/P13460/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-13460] 구슬 탈출 2
2 |
3 | 맞았습니다!의 쾌감....💚
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BFS/P13460/input.txt:
--------------------------------------------------------------------------------
1 | 10 10
2 | ##########
3 | #.BR.....#
4 | #.#####..#
5 | #.#...#..#
6 | #.#.#.O..#
7 | #.#.#....#
8 | #.#....#.#
9 | #.#..#...#
10 | #.#......#
11 | ##########
--------------------------------------------------------------------------------
/src/BFS/P13549/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-13549] 숨바꼭질 3
2 |
3 | 
4 |
5 | BFS 문제임을 판단한 후, `정확하게 조건 파악하기` & `메모리 초과 신경 쓰기` 로 문제를 풀어나가면 되겠다.
6 |
--------------------------------------------------------------------------------
/src/BFS/P14226/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14226] 이모티콘
2 |
3 | 
4 |
5 | 1. BFS로 풀 수 있는 문제임을 깨닫기
6 | 2. 문제 조건을 잘 파악하고 정확히 조건 구현하기
7 | 3. BFS에서 주의해야 하는 메모리 초과 문제 기억하기 !!
8 |
--------------------------------------------------------------------------------
/src/BFS/P14502/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14502] 연구소
2 |
3 | 
4 |
5 | ### 2021.03.26
6 |
7 | - [210326.java](Main2.java)
8 |
9 | 6개월의 성능 차이 ..!!!
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/src/BFS/P14502/input.txt:
--------------------------------------------------------------------------------
1 | 8 8
2 | 2 0 0 0 0 0 0 2
3 | 2 0 0 0 0 0 0 2
4 | 2 0 0 0 0 0 0 2
5 | 2 0 0 0 0 0 0 2
6 | 2 0 0 0 0 0 0 2
7 | 0 0 0 0 0 0 0 0
8 | 0 0 0 0 0 0 0 0
9 | 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/src/BFS/P1525/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1525] 퍼즐
2 |
3 | 
4 | 
5 |
--------------------------------------------------------------------------------
/src/BFS/P1525/input.txt:
--------------------------------------------------------------------------------
1 | 2 5 7
2 | 8 0 3
3 | 4 1 6
4 |
5 | // 18
--------------------------------------------------------------------------------
/src/BFS/P1600/input.txt:
--------------------------------------------------------------------------------
1 | 1
2 | 4 4
3 | 0 0 0 0
4 | 1 0 0 0
5 | 0 0 1 0
6 | 0 1 0 0
7 |
8 | 3
9 | 4 5
10 | 0 1 1 1
11 | 1 1 0 1
12 | 1 1 1 1
13 | 1 1 1 0
14 | 1 1 1 0
15 | //3
16 |
17 | 1
18 | 4 4
19 | 0 0 0 0
20 | 1 0 0 0
21 | 0 0 1 1
22 | 0 1 0 0
23 | //4
24 |
25 | 1
26 | 5 5
27 | 0 0 0 0 0
28 | 0 0 0 0 0
29 | 0 0 0 0 0
30 | 0 0 0 1 1
31 | 0 0 0 1 0
32 | //6
33 |
--------------------------------------------------------------------------------
/src/BFS/P16236/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-16236] 아기 상어
2 |
3 | 
4 |
5 | ### 2021.03.17 (6달의 성능 차이 ~)
6 |
7 | - [210317.java](Main2.java)
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/BFS/P16236/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 4 3 2 1
3 | 0 0 0 0
4 | 0 0 9 0
5 | 1 2 3 4
--------------------------------------------------------------------------------
/src/BFS/P1697/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1697] 숨바꼭질
2 |
3 | 
4 |
5 | ### 메모리 초과 이슈
6 |
7 | 처음에 `visited` 배열을 두지 않고 풀었을 때 메모리 초과가 났다.
8 |
9 | `visited` 배열을 두지 않으면, 이미 갔던 좌표에 대해서도 계속 큐에 넣게 되기 때문에 메모리 초과 이슈가 발생할 수 있다. 기억해두기 !!
10 |
11 |
--------------------------------------------------------------------------------
/src/BFS/P1697/input.txt:
--------------------------------------------------------------------------------
1 | 5 17
--------------------------------------------------------------------------------
/src/BFS/P1743/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1743] 음식물 피하기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BFS/P1743/input.txt:
--------------------------------------------------------------------------------
1 | 3 4 5
2 | 3 2
3 | 2 2
4 | 3 1
5 | 2 3
6 | 1 1
--------------------------------------------------------------------------------
/src/BFS/P1938/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1938] 통나무 옮기기
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/BFS/P1939/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1939] 중량제한
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BFS/P1939/input.txt:
--------------------------------------------------------------------------------
1 | 9 9
2 | 1 4 11
3 | 1 5 2
4 | 4 5 4
5 | 4 3 10
6 | 4 2 7
7 | 5 2 10
8 | 5 6 13
9 | 3 2 9
10 | 2 6 8
11 | 1 6
12 | // 9
13 |
14 | 3 3
15 | 1 2 2
16 | 3 1 3
17 | 2 3 2
18 | 1 3
--------------------------------------------------------------------------------
/src/BFS/P20304/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-20304] 비밀번호 제작
2 |
3 | 
4 |
5 | N, M의 크기가 매우 크므로 한 배열 내에서 비트 연산 및 BFS를 통해 풀어야 한다.
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/BFS/P20304/input.txt:
--------------------------------------------------------------------------------
1 | 10
2 | 2
3 | 4 3
--------------------------------------------------------------------------------
/src/BFS/P2178/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2178] 미로 탐색
2 |
3 | ### 처음에 메모리 초과가 났다.
4 |
5 | BFS 방문 표시는 큐에서 뺄 때가 아닌 넣을 때 해야 중복 방문이 일어나지 않습니다.
6 | BFS에서 많은 사람들이 하는 실수입니다.
7 | BFS 문제에서 메모리 초과가 나면 대부분은 이것 때문이라고 볼 수 있습니다.
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/BFS/P2178/input.txt:
--------------------------------------------------------------------------------
1 | 4 6
2 | 110110
3 | 110110
4 | 111111
5 | 111101
--------------------------------------------------------------------------------
/src/BFS/P2206/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2206] 벽 부수고 이동하기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BFS/P2206/input.txt:
--------------------------------------------------------------------------------
1 | 6 4
2 | 0100
3 | 1110
4 | 1000
5 | 0000
6 | 0111
7 | 0000
--------------------------------------------------------------------------------
/src/BFS/P3055/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-3055] 탈출
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/BFS/P7576/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-7576] 토마토
2 |
3 | 
4 |
5 | 
6 |
7 | ### 2021.04.14
8 |
9 | - [210414.java](Main2.java)
10 | 
11 |
--------------------------------------------------------------------------------
/src/BFS/P7576/input.txt:
--------------------------------------------------------------------------------
1 | 5 5
2 | -1 1 0 0 0
3 | 0 -1 -1 -1 0
4 | 0 -1 -1 -1 0
5 | 0 -1 -1 -1 0
6 | 0 0 0 0 0
--------------------------------------------------------------------------------
/src/BFS/swea10966/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 10966] 물놀이를 가자
2 |
3 | 
4 |
5 | ### BFS에 대하여 한 가지를 더 기억해두자 !!!
6 |
7 | 어떤 점에서의 최단 경로를 찾을 때 많이 쓰이는 BFS가 가지고 있는 좋은 점은 **여러 점에서 동시에 출발할 수 있다**는 점이다. 이는 DFS는 적용할 수 없는 BFS만의 장점이다. 위 문제는 이러한 BFS의 특징을 기억하지 않으면 시간 초과를 겪을 수 있다. 특히 방문 체크 대신, **지금까지 지나온 거리를 배열에 저장**하여 훨씬 효율적으로 답을 구할 수 있는 문제이다. 꼭 기억해두자.
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/BFS/swea10966/sample_input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 2 3
3 | WLL
4 | LLL
5 | 3 2
6 | WL
7 | LL
8 | LW
9 | 4 5
10 | LLLWW
11 | WWLLL
12 | LLLWL
13 | LWLLL
--------------------------------------------------------------------------------
/src/BFS/swea10966/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 9
2 | #2 4
3 | #3 15
--------------------------------------------------------------------------------
/src/BFS/swea1238/output.txt:
--------------------------------------------------------------------------------
1 | #1 17
2 | #2 96
3 | #3 49
4 | #4 39
5 | #5 49
6 | #6 1
7 | #7 28
8 | #8 45
9 | #9 59
10 | #10 64
11 |
--------------------------------------------------------------------------------
/src/BFS/swea1249/output.txt:
--------------------------------------------------------------------------------
1 | #1 2
2 | #2 2
3 | #3 8
4 | #4 57
5 | #5 151
6 | #6 257
7 | #7 18
8 | #8 160
9 | #9 414
10 | #10 395
11 |
--------------------------------------------------------------------------------
/src/BFS/swea1953/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1953] 탈주범 검거
2 |
3 | 
4 | 
5 | 
6 | 
7 |
8 | 
9 |
--------------------------------------------------------------------------------
/src/BFS/swea1953/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 5
2 | #2 15
3 | #3 29
4 | #4 67
5 | #5 71
--------------------------------------------------------------------------------
/src/BruteForce/P14889/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14889] 스타트와 링크
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/BruteForce/P14889/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 0 1 2 3 4 5
3 | 1 0 2 3 4 5
4 | 1 2 0 3 4 5
5 | 1 2 3 0 4 5
6 | 1 2 3 4 0 5
7 | 1 2 3 4 5 0
--------------------------------------------------------------------------------
/src/BruteForce/P16637/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-16637] 괄호 추가하기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BruteForce/P16637/input.txt:
--------------------------------------------------------------------------------
1 | 19
2 | 1-9-1-9-1-9-1-9-1-9
--------------------------------------------------------------------------------
/src/BruteForce/P17136/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17136] 색종이 붙이기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BruteForce/P17136/input.txt:
--------------------------------------------------------------------------------
1 | 0 0 0 0 0 0 0 0 0 0
2 | 0 1 1 0 0 0 0 0 0 0
3 | 0 0 1 0 0 0 0 0 0 0
4 | 0 0 0 0 1 1 0 0 0 0
5 | 0 0 0 0 0 1 0 0 0 0
6 | 0 0 0 0 0 0 0 0 0 0
7 | 0 0 1 0 0 0 0 0 0 0
8 | 0 0 0 0 0 0 0 0 0 0
9 | 0 0 0 0 0 0 0 0 0 0
10 | 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/src/BruteForce/P17471/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17471] 게리맨더링
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/BruteForce/P17471/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 2 2 2 2 2 2
3 | 1 3
4 | 1 4
5 | 1 1
6 | 1 2
7 | 1 6
8 | 1 5
9 | //-1
10 |
11 |
12 | 6
13 | 5 2 3 4 1 2
14 | 2 2 4
15 | 4 1 3 6 5
16 | 2 4 2
17 | 2 1 3
18 | 1 2
19 | 1 2
--------------------------------------------------------------------------------
/src/BruteForce/P2468/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2468] 안전 영역
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/BruteForce/P2468/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 1 1 1 1 1
3 | 1 1 1 1 1
4 | 1 1 1 1 1
5 | 1 1 1 1 1
6 | 1 1 1 1 1
--------------------------------------------------------------------------------
/src/BruteForce/P2961/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2961] 도영이가 만든 맛있는 음식
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BruteForce/P2961/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 1 7
3 | 2 6
4 | 3 8
5 | 4 9
--------------------------------------------------------------------------------
/src/BruteForce/P3040/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-3040] 백설 공주와 일곱 난쟁이
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/BruteForce/P3040/input.txt:
--------------------------------------------------------------------------------
1 | 8
2 | 6
3 | 5
4 | 1
5 | 37
6 | 30
7 | 28
8 | 22
9 | 36
--------------------------------------------------------------------------------
/src/BruteForce/prg42842/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 완전탐색] 카펫
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/BruteForce/swea1247/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1247] 최적 경로
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/BruteForce/swea1247/output.txt:
--------------------------------------------------------------------------------
1 | #1 200
2 | #2 304
3 | #3 265
4 | #4 307
5 | #5 306
6 | #6 366
7 | #7 256
8 | #8 399
9 | #9 343
10 | #10 391
11 |
--------------------------------------------------------------------------------
/src/BruteForce/swea3234/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 3234] 준환이의 양팔저울
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/BruteForce/swea3234/sample_input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 3
3 | 1 2 4
4 | 3
5 | 1 2 3
6 | 9
7 | 1 2 3 5 6 4 7 8 9
--------------------------------------------------------------------------------
/src/BruteForce/swea3234/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 15
2 | #2 17
3 | #3 35583723
--------------------------------------------------------------------------------
/src/BruteForce/swea4012/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 4012] 요리사
2 |
3 | > 비슷한 문제 : [boj-14889 스타트와 링크](../P14889)
4 |
5 | 
6 | 
7 | 
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/BruteForce/swea4012/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 2
2 | #2 1
3 | #3 38
4 | #4 15
5 | #5 4
6 | #6 0
7 | #7 51
8 | #8 23
9 | #9 13
10 | #10 11
11 |
--------------------------------------------------------------------------------
/src/Combination/P1007/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1007] 벡터 매칭
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Combination/P1007/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 4
3 | 5 5
4 | 5 -5
5 | -5 5
6 | -5 -5
7 | 2
8 | -100000 -100000
9 | 100000 100000
--------------------------------------------------------------------------------
/src/Combination/P1010/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 2 2
3 | 1 5
4 | 13 29
--------------------------------------------------------------------------------
/src/Combination/P1256/README.md:
--------------------------------------------------------------------------------
1 |
2 | 🚩 다음 코드 간결화 시키기 (계산한 숫자가 10억이 넘어가면 10억으로 치환해주는 코드)
3 | 10억 : `1e9`로 표현할 수 있다.
4 |
5 | ```java
6 | long result = combis[i-1][j-1] + combis[i-1][j];
7 | if (result > MAX)
8 | combis[i][j] = MAX;
9 | else
10 | combis[i][j] = (int) result;
11 | ```
12 |
13 | ```java
14 | combis[i][j] = Math.min(combis[i-1][j-1] + combis[i-1][j], (int) 1e9);
15 | ```
16 |
--------------------------------------------------------------------------------
/src/Combination/P1256/input.txt:
--------------------------------------------------------------------------------
1 | 2 3 7
--------------------------------------------------------------------------------
/src/Combination/P2798/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2798] 블랙잭
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Combination/P2798/input.txt:
--------------------------------------------------------------------------------
1 | 10 500
2 | 93 181 245 214 315 36 185 138 216 295
--------------------------------------------------------------------------------
/src/Combination/swea9229/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 9229] 한빈이와 Spot Mart
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Combination/swea9229/sample_input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 3 45
3 | 20 20 20
4 | 6 10
5 | 1 2 5 8 9 11
6 | 4 100
7 | 80 80 60 60
8 | 4 20
9 | 10 5 10 16
10 |
--------------------------------------------------------------------------------
/src/Combination/swea9229/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 40
2 | #2 10
3 | #3 -1
4 | #4 20
5 |
--------------------------------------------------------------------------------
/src/DAC/P1074/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1074] Z
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/DAC/P1074/input.txt:
--------------------------------------------------------------------------------
1 | 2 3 1
--------------------------------------------------------------------------------
/src/DAC/P10830/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10830] 행렬 제곱
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DAC/P10830/input.txt:
--------------------------------------------------------------------------------
1 | 5 10
2 | 1 0 0 0 1
3 | 1 0 0 0 1
4 | 1 0 0 0 1
5 | 1 0 0 0 1
6 | 1 0 0 0 1
--------------------------------------------------------------------------------
/src/DAC/P1992/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1992] 쿼드트리
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DAC/P1992/input.txt:
--------------------------------------------------------------------------------
1 | 8
2 | 11110000
3 | 11110000
4 | 00011100
5 | 00011100
6 | 11110000
7 | 11110000
8 | 11110011
9 | 11110011
10 |
11 | 00000000
12 | 00000000
13 | 00001111
14 | 00001111
15 | 00011111
16 | 00111111
17 | 00111111
18 | 00111111
19 |
--------------------------------------------------------------------------------
/src/DFS/P1062/input.txt:
--------------------------------------------------------------------------------
1 | 3 6
2 | antarctica
3 | antahellotica
4 | antacartica
--------------------------------------------------------------------------------
/src/DFS/P10971/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10971] 외판원 순회 2
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DFS/P10971/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 0 10 15 20
3 | 5 0 9 10
4 | 6 13 0 12
5 | 8 8 9 0
--------------------------------------------------------------------------------
/src/DFS/P1103/input.txt:
--------------------------------------------------------------------------------
1 | 3 7
2 | 3942178
3 | 1234567
4 | 9123532
--------------------------------------------------------------------------------
/src/DFS/P13023/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-13023] ABCDE
2 |
3 | 
4 |
5 | ### 시간 초과 이슈
6 |
7 | 처음에 시간 초과가 났었다. 이 문제는 다음과 같이 코드를 고치니 해결되었다.
8 |
9 | ```java
10 | for (int i = 0; i < N; i++) {
11 | if (ans == 0) dfs(i, 1);
12 | }
13 | ```
14 |
15 | 처음에는 `dfs`를 먼저 돌리고 count가 5가 되는 것을 찾았을 때 1을 출력하고 프로그램을 종료하도록 했었다.
16 | 그런데 이렇게 하지 않고 `dfs`를 돌리기 전, count가 5가 되는 것을 찾았다면 돌리지 않는 방식으로 조건문을 설정하니 시간 초과 문제가 해결되었다.
17 |
--------------------------------------------------------------------------------
/src/DFS/P13023/input.txt:
--------------------------------------------------------------------------------
1 | 8 8
2 | 1 7
3 | 3 7
4 | 4 7
5 | 3 4
6 | 4 6
7 | 3 5
8 | 0 4
9 | 2 7
--------------------------------------------------------------------------------
/src/DFS/P14500/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14500] 테트로미노
2 |
3 | 
4 | 
5 |
--------------------------------------------------------------------------------
/src/DFS/P14500/input.txt:
--------------------------------------------------------------------------------
1 | 5 5
2 | 1 2 3 4 5
3 | 5 4 3 2 1
4 | 2 3 4 5 6
5 | 6 5 4 3 2
6 | 1 2 1 2 1
--------------------------------------------------------------------------------
/src/DFS/P14501/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14501] 퇴사
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DFS/P14501/input.txt:
--------------------------------------------------------------------------------
1 | 10
2 | 5 50
3 | 4 40
4 | 3 30
5 | 2 20
6 | 1 10
7 | 1 10
8 | 2 20
9 | 3 30
10 | 4 40
11 | 5 50
--------------------------------------------------------------------------------
/src/DFS/P14888/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14888] 연산자 끼워넣기
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DFS/P1520/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1520] 내리막 길
2 |
3 | 
4 | 
5 |
6 | DFS + DP 문제는 아직 미숙한 것 같다. 많이 더 많이 연습하자 !!!
7 |
8 | 
9 |
--------------------------------------------------------------------------------
/src/DFS/P1520/input.txt:
--------------------------------------------------------------------------------
1 | 4 5
2 | 50 45 37 32 30
3 | 35 50 40 20 25
4 | 30 30 25 17 28
5 | 27 24 22 15 10
6 |
7 | 3 3
8 | 9 4 3
9 | 8 5 2
10 | 7 6 1
11 | // 6
12 |
--------------------------------------------------------------------------------
/src/DFS/P15658/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-15658] 연산자 끼워넣기 (2)
2 |
3 | 
4 | 
5 |
--------------------------------------------------------------------------------
/src/DFS/P17070/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17070] 파이프 옮기기 1
2 |
3 | 
4 | 
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/DFS/P1759/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1759] 암호 만들기
2 |
3 | 
4 |
5 | ### 2021.03.16 - using Combination
6 |
7 | - [210316.java](Main2.java)
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/DFS/P1759/input.txt:
--------------------------------------------------------------------------------
1 | 4 6
2 | a t c i s w
--------------------------------------------------------------------------------
/src/DFS/P1937/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1937] 욕심쟁이 판다
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DFS/P1937/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 14 9 12 10
3 | 1 11 5 4
4 | 7 15 2 13
5 | 6 3 16 8
--------------------------------------------------------------------------------
/src/DFS/P1987/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1987] 알파벳
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DFS/P1987/input.txt:
--------------------------------------------------------------------------------
1 | 2 4
2 | CATB
3 | BDCB
--------------------------------------------------------------------------------
/src/DFS/P20164/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-20164] 홀수 홀릭 호석
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/DFS/P20164/input.txt:
--------------------------------------------------------------------------------
1 | 999999999
--------------------------------------------------------------------------------
/src/DFS/P2667/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2667] 단지번호붙이기
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DFS/P2667/input.txt:
--------------------------------------------------------------------------------
1 | 7
2 | 0110100
3 | 0110101
4 | 1110101
5 | 0000111
6 | 0100000
7 | 0111110
8 | 0111000
--------------------------------------------------------------------------------
/src/DFS/P3109/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-3109] 빵집
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DFS/P4963/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-4963] 섬의 개수
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DFS/P4963/input.txt:
--------------------------------------------------------------------------------
1 | 1 1
2 | 0
3 | 2 2
4 | 0 1
5 | 1 0
6 | 3 2
7 | 1 1 1
8 | 1 1 1
9 | 5 4
10 | 1 0 1 0 0
11 | 1 0 0 0 0
12 | 1 0 1 0 1
13 | 1 0 0 1 0
14 | 5 4
15 | 1 1 1 0 1
16 | 1 0 1 0 1
17 | 1 0 1 0 1
18 | 1 0 1 1 1
19 | 5 5
20 | 1 0 1 0 1
21 | 0 0 0 0 0
22 | 1 0 1 0 1
23 | 0 0 0 0 0
24 | 1 0 1 0 1
25 | 0 0
--------------------------------------------------------------------------------
/src/DFS/prg12952/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - Backtracking] N-Queen
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DFS/swea1949/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1949] 등산로 조성
2 |
3 | 
4 | 
5 | 
6 | 
7 |
8 | 
9 |
--------------------------------------------------------------------------------
/src/DFS/swea1949/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 6
2 | #2 3
3 | #3 7
4 | #4 4
5 | #5 2
6 | #6 12
7 | #7 6
8 | #8 7
9 | #9 10
10 | #10 19
11 |
--------------------------------------------------------------------------------
/src/DFS/swea2105/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 2105] 디저트 카페
2 |
3 | 
4 | 
5 | 
6 | 
7 |
8 | 
9 |
--------------------------------------------------------------------------------
/src/DFS/swea2105/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 6
2 | #2 -1
3 | #3 4
4 | #4 4
5 | #5 8
6 | #6 6
7 | #7 14
8 | #8 12
9 | #9 18
10 | #10 30
11 |
--------------------------------------------------------------------------------
/src/DFS/swea5215/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 5215] 햄버거 다이어트
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/DFS/swea5215/sample_input.txt:
--------------------------------------------------------------------------------
1 | 1
2 | 5 1000
3 | 100 200
4 | 300 500
5 | 250 300
6 | 500 1000
7 | 400 400
--------------------------------------------------------------------------------
/src/DFS/swea5215/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 750
--------------------------------------------------------------------------------
/src/DFSandBFS/P1260/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1260] DFS와 BFS
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DFSandBFS/P1260/input.txt:
--------------------------------------------------------------------------------
1 | 5 5 3
2 | 5 4
3 | 5 2
4 | 1 2
5 | 3 4
6 | 3 1
--------------------------------------------------------------------------------
/src/DFSandBFS/P2573/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2573] 빙산
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DFSandBFS/P2573/input.txt:
--------------------------------------------------------------------------------
1 | 5 7
2 | 0 0 0 0 0 0 0
3 | 0 2 4 5 3 0 0
4 | 0 3 0 2 5 2 0
5 | 0 7 6 2 4 0 0
6 | 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/src/DP/P1003/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1003] 피보나치 함수
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DP/P1003/input.txt:
--------------------------------------------------------------------------------
1 | 41
2 | 0
3 | 1
4 | 2
5 | 3
6 | 4
7 | 5
8 | 6
9 | 7
10 | 8
11 | 9
12 | 10
13 | 11
14 | 12
15 | 13
16 | 14
17 | 15
18 | 16
19 | 17
20 | 18
21 | 19
22 | 20
23 | 21
24 | 22
25 | 23
26 | 24
27 | 25
28 | 26
29 | 27
30 | 28
31 | 29
32 | 30
33 | 31
34 | 32
35 | 33
36 | 34
37 | 35
38 | 36
39 | 37
40 | 38
41 | 39
42 | 40
--------------------------------------------------------------------------------
/src/DP/P10844/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10844] 쉬운 계단 수
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DP/P11048/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11048] 이동하기
2 |
3 | 
4 |
5 | 앞으로 이런 문제는 DP로 풀자 !!!!
6 |
--------------------------------------------------------------------------------
/src/DP/P11048/input.txt:
--------------------------------------------------------------------------------
1 | 4 3
2 | 1 2 3
3 | 6 5 4
4 | 7 8 9
5 | 12 11 10
--------------------------------------------------------------------------------
/src/DP/P11052/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11052] 카드 구매하기
2 |
3 | 
4 | 
5 |
--------------------------------------------------------------------------------
/src/DP/P11052/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 3 5 15 16
3 |
4 | 0 1 2 3 4
--------------------------------------------------------------------------------
/src/DP/P11053/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11053] 가장 긴 증가하는 부분 수열
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DP/P11053/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 10 20 10 30 20 50
--------------------------------------------------------------------------------
/src/DP/P11054/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11054] 가장 긴 바이토닉 부분 수열
2 |
3 | 
4 |
5 | 이번 문제도 풀이 과정 없이 머릿속으로 생각해서 풀었다 !!
6 |
7 | 가장 긴 증가하는 부분 수열을 **앞에서부터** 구해서 저장하고,
8 | 가장 긴 감소하는 부분 수열을 **뒤에서부터** 구해서 저장하여
9 | 두 가지 배열에 대하여 각 인덱스에 저장된 값의 합에서 1(자기 자신 중복)을 빼면
10 | 각 인덱스별로 바이토닉 부분 수열 길이를 구할 수 있다.
11 |
--------------------------------------------------------------------------------
/src/DP/P11054/input.txt:
--------------------------------------------------------------------------------
1 | 10
2 | 1 5 2 1 4 3 4 5 2 1
--------------------------------------------------------------------------------
/src/DP/P11055/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11055] 가장 큰 증가 부분 수열
2 |
3 | 
4 |
5 | 헤헤 이번엔 딱히 노트에 풀이 과정 안 적고 풀었다.
6 |
--------------------------------------------------------------------------------
/src/DP/P11055/input.txt:
--------------------------------------------------------------------------------
1 | 10
2 | 1 100 2 50 60 3 5 6 7 8
--------------------------------------------------------------------------------
/src/DP/P11057/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11057] 오르막 수
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DP/P11066/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11066] 파일 합치기
2 |
3 | 
4 |
5 | 나외있는 풀이를 이해해서 풀었다. `Kruth's optimization` 을 이용하면 O(n^2)로 줄일 수 있다고 하는데, 한 번 더 풀어봐야겠다.
--------------------------------------------------------------------------------
/src/DP/P11066/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 4
3 | 40 30 30 50
4 | 15
5 | 1 21 3 4 5 35 5 4 3 5 98 21 14 17 32
--------------------------------------------------------------------------------
/src/DP/P1149/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 26 40 83
3 | 49 60 57
4 | 13 89 99
--------------------------------------------------------------------------------
/src/DP/P11659/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11659] 구간 합 구하기 4
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DP/P11659/input.txt:
--------------------------------------------------------------------------------
1 | 5 3
2 | 5 4 3 2 1
3 | 1 3
4 | 2 4
5 | 5 5
--------------------------------------------------------------------------------
/src/DP/P11660/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11660] 구간 합 구하기 5
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DP/P11660/input.txt:
--------------------------------------------------------------------------------
1 | 2 4
2 | 1 2
3 | 3 4
4 | 1 1 1 1
5 | 1 2 1 2
6 | 2 1 2 1
7 | 2 2 2 2
--------------------------------------------------------------------------------
/src/DP/P11722/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11722] 가장 긴 감소하는 부분 수열
2 |
3 | 
4 |
5 | 앞에서 풀었던 문제 방식의 반복이다 !!
6 |
--------------------------------------------------------------------------------
/src/DP/P11722/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 10 30 10 20 20 10
--------------------------------------------------------------------------------
/src/DP/P11726/Main.java:
--------------------------------------------------------------------------------
1 | package DP.P11726;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Main {
6 |
7 | static int n;
8 | static int[] dp = new int[1001];
9 |
10 | public static void main(String[] args) {
11 | Scanner sc = new Scanner(System.in);
12 | n = sc.nextInt();
13 |
14 | dp[1] = 1;
15 | dp[2] = 2;
16 | for (int i = 3; i <= n; i++) {
17 | dp[i] = (dp[i-1] + dp[i-2]) % 10007;
18 | }
19 |
20 | System.out.println(dp[n]);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/DP/P11726/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11726] 2×n 타일링
2 |
3 | 
4 |
5 | ### 점화식
6 |
7 | ```java
8 | dp[1] = 1
9 | dp[2] = 2
10 | dp[n] = dp[n-1] + dp[n-2]
11 | ```
12 |
13 | ### 왜 이런 식이 성립하나?
14 |
15 | 
16 |
17 | 2xn 크기의 직사각형은 2x(n-1) 크기의 직사각형을 채우고 2x1 타일을 채우는 방법의 수와,
18 | 2x(n-2) 크기의 직사각형을 채우고 1x2 타일 두 개를 채우는 방법의 수를 합친 것과 같다.
19 | 그 이상으로 더 자르면 대칭이거나, 이미 이전 단계의 경우의 수를 다 세었기 때문에 더 생각할 필요가 없다.
20 |
--------------------------------------------------------------------------------
/src/DP/P11727/Main.java:
--------------------------------------------------------------------------------
1 | package DP.P11727;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Main {
6 |
7 | static int n;
8 | static int[] dp = new int[1001];
9 |
10 | public static void main(String[] args) {
11 | Scanner sc = new Scanner(System.in);
12 | n = sc.nextInt();
13 |
14 | dp[1] = 1;
15 | dp[2] = 3;
16 | for (int i = 3; i <= n; i++) {
17 | dp[i] = (dp[i-1] + dp[i-2] * 2) % 10007;
18 | }
19 |
20 | System.out.println(dp[n]);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/DP/P11727/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11727] 2×n 타일링 2
2 |
3 | 
4 |
5 | ### 점화식
6 |
7 | ```java
8 | dp[1] = 1
9 | dp[2] = 2
10 | dp[n] = dp[n-1] + (dp[n-2] * 2)
11 | ```
12 |
13 | [2xn 타일링](../P11726) 문제에 2x2 타일이 생겼으므로, 2x(n-2) 크기의 직사각형으로 잘랐을 때
14 | 경우의 수가 하나 더 생긴다. 그래서 2를 곱해준다.
15 |
--------------------------------------------------------------------------------
/src/DP/P12852/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-12852] 1로 만들기 2
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DP/P12852/input.txt:
--------------------------------------------------------------------------------
1 | 10
--------------------------------------------------------------------------------
/src/DP/P12865/input.txt:
--------------------------------------------------------------------------------
1 | 5 9
2 | 2 4
3 | 1 3
4 | 3 5
5 | 4 8
6 | 2 1
7 |
8 | 4 7
9 | 6 13
10 | 4 8
11 | 3 6
12 | 5 12
13 |
--------------------------------------------------------------------------------
/src/DP/P1328/input.txt:
--------------------------------------------------------------------------------
1 | 3 2 2
--------------------------------------------------------------------------------
/src/DP/P13398/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-13398] 연속합 2
2 |
3 | 
4 |
5 | ### 점화식
6 |
7 | ```java
8 | dp[0][0] = dp[0][1] = arr[0];
9 | dp[n][0] = Math.max(dp[n-1][0], 0) + arr[n];
10 | dp[n][1] = Math.max(dp[n-1][0], dp[n-1][1] + arr[n]);
11 | ```
12 |
13 | 
14 |
15 | 후아.. 한참을 헤맨 문제다. 성장하자 !!!
16 |
--------------------------------------------------------------------------------
/src/DP/P13398/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | -10 10 20 -40 50
3 |
4 | 10
5 | 2 1 -4 3 4 -4 6 5 -5 1
6 |
7 | 10
8 | 10 -4 3 1 5 6 -35 12 21 -1
9 |
10 | 5
11 | -1 -2 -3 -4 -5
12 |
--------------------------------------------------------------------------------
/src/DP/P14002/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14002] 가장 긴 증가하는 부분 수열 4
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DP/P14002/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 10 20 10 30 20 50
--------------------------------------------------------------------------------
/src/DP/P1463/Main.java:
--------------------------------------------------------------------------------
1 | package DP.P1463;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Main {
6 |
7 | static int N;
8 | static int[] dp = new int[1000001];
9 |
10 | public static void main(String[] args) throws Exception {
11 | Scanner sc = new Scanner(System.in);
12 | N = sc.nextInt();
13 |
14 | for (int i = 2; i <= N; i++) {
15 | int x1 = (i % 3 == 0) ? dp[i/3] : Integer.MAX_VALUE;
16 | int x2 = (i % 2 == 0) ? dp[i/2] : Integer.MAX_VALUE;
17 | int x3 = dp[i-1];
18 | dp[i] = Math.min(x1, Math.min(x2, x3)) + 1;
19 | }
20 |
21 | System.out.println(dp[N]);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/DP/P1463/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1463] 1로 만들기
2 |
3 | 
4 |
5 | ### 점화식
6 |
7 | ```java
8 | dp[1] = 0
9 | dp[n] = Math.min(dp[n-1], dp[n/2], dp[n/3]) + 1
10 | // n/2, n/3은 나누어 떨어지는지 확인
11 | ```
12 |
--------------------------------------------------------------------------------
/src/DP/P15678/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-15678] 연세워터파크
2 |
3 | 
4 | 
5 |
6 | ### 풀이 과정
7 |
8 | - [동적 계획법 4(Dynamic Programming 4)|작성자 라이](https://blog.naver.com/kks227/221386454504)
9 | - [15678번: 연세워터파크](https://hellogaon.tistory.com/67)
10 |
11 | 어려워서 위 풀이를 참고했다 ㅎㅎㅎ 좋은 문제다 ㅎㅎ
12 |
13 | 
14 |
--------------------------------------------------------------------------------
/src/DP/P15678/input.txt:
--------------------------------------------------------------------------------
1 | 10 2
2 | 2 7 -5 -4 10 -5 -5 -5 30 -10
--------------------------------------------------------------------------------
/src/DP/P15988/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-15988] 1, 2, 3 더하기 3
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DP/P15988/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 4
3 | 7
4 | 10
--------------------------------------------------------------------------------
/src/DP/P15990/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-15990] 1, 2, 3 더하기 5
2 |
3 | 
4 |
5 | 
6 |
7 | ### 2021.02.04 - 재채점 및 시간초과로 인해 다시 풀이
8 |
9 | 테스트케이스가 있으므로 dp 배열은 미리 초기화, StringBuilder 사용
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/src/DP/P15990/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 4
3 | 7
4 | 10
--------------------------------------------------------------------------------
/src/DP/P16194/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-16194] 카드 구매하기 2
2 |
3 | 
4 | 
5 |
--------------------------------------------------------------------------------
/src/DP/P16194/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 3 5 15 16
--------------------------------------------------------------------------------
/src/DP/P1699/Main.java:
--------------------------------------------------------------------------------
1 | package DP.P1699;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Main {
6 |
7 | static int N;
8 | static int[] dp = new int[100001];
9 |
10 | public static void main(String[] args) {
11 | Scanner sc = new Scanner(System.in);
12 | N = sc.nextInt();
13 |
14 | for (int i = 1; i <= N; i++) {
15 | int nearSquare = (int) Math.floor(Math.sqrt(i));
16 | dp[i] = Integer.MAX_VALUE;
17 | for (int j = nearSquare; j > 0; j--) {
18 | dp[i] = Math.min(dp[i], dp[i - j*j] + 1);
19 | }
20 | }
21 |
22 | System.out.println(dp[N]);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/DP/P1699/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1699] 제곱수의 합
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DP/P17845/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17845] 수강 과목
2 |
3 | 
4 |
5 | ### 배낭 문제
6 |
7 | 문제를 잘 읽어보면 배낭 문제라는 것을 금방 알 수 있다. [여기](../P12865)로 가면 내가 잘 정리해뒀다.
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/DP/P17845/input.txt:
--------------------------------------------------------------------------------
1 | 80 3
2 | 650 40
3 | 700 60
4 | 60 40
--------------------------------------------------------------------------------
/src/DP/P1912/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1912] 연속합
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DP/P1912/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | -1 -2 -3 -4 -5
--------------------------------------------------------------------------------
/src/DP/P1932/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 7
3 | 3 8
4 | 8 1 0
5 | 2 7 4 4
6 | 4 5 2 6 5
--------------------------------------------------------------------------------
/src/DP/P2098/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 0 10 15 20
3 | 5 0 9 10
4 | 6 13 0 12
5 | 8 8 9 0
--------------------------------------------------------------------------------
/src/DP/P2156/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2156] 포도주 시식
2 |
3 | 
4 |
5 | 
6 |
7 | ### 점화식
8 |
9 | `dp` 배열 : 지금껏 선택한 것들 중 최대의 값 (연속 3개 선택 x)
10 |
11 | ```java
12 | dp[1] = drink[1]
13 | dp[2] = drink[1] + drink[2]
14 | ...
15 | dp[n] = Math.max(dp[n-2] + drink[n], drink[n-3] + drink[n-1] + drink[n])
16 | dp[n] = Math.max(dp[n-1], dp[n]) /* 연속 2개 선택 x */
17 | ```
18 |
--------------------------------------------------------------------------------
/src/DP/P2156/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 10
3 | 15
4 | 1
5 |
6 | 6
7 | 6
8 | 10
9 | 13
10 | 9
11 | 8
12 | 1
13 |
14 | 6
15 | 100
16 | 400
17 | 2
18 | 1
19 | 4
20 | 200
--------------------------------------------------------------------------------
/src/DP/P2193/Main.java:
--------------------------------------------------------------------------------
1 | package DP.P2193;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Main {
6 |
7 | static int N;
8 | static long[][] dp = new long[91][2];
9 |
10 | public static void main(String[] args) throws Exception {
11 | Scanner sc = new Scanner(System.in);
12 | N = sc.nextInt();
13 |
14 | dp[1][0] = 0; dp[1][1] = 1;
15 | dp[2][0] = 1; dp[2][1] = 0;
16 |
17 | for (int i = 3; i <= N; i++) {
18 | dp[i][0] = dp[i-1][0] + dp[i-1][1];
19 | dp[i][1] = dp[i-1][0];
20 | }
21 |
22 | System.out.println(dp[N][0] + dp[N][1]);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/DP/P2193/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2193] 이친수
2 |
3 | 
4 |
5 | ### 주의할 점
6 |
7 | N의 범위가 `1 ≤ N ≤ 90`으로 주어졌기 때문에 결과값이 매우 클 수 있는데,
8 | 따로 `mod` 값이 주어지지 않았으므로 반드시 `dp` 배열을 `long`으로 선언해야 한다.
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/src/DP/P2225/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2225] 합분해
2 |
3 | 
4 |
5 | 
6 |
7 | 풀이가 낙서장처럼 엉망진창이긴 하지만, 곰곰이 잘 생각해보면 식을 도출할 수 있기 때문에
8 | 한 번 더 예쁘게 정리하지 않아도 될 것 같다 !!
9 |
--------------------------------------------------------------------------------
/src/DP/P2225/input.txt:
--------------------------------------------------------------------------------
1 | 20 3
--------------------------------------------------------------------------------
/src/DP/P2294/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2294] 동전 2
2 |
3 | 
4 |
5 | ### 점화식
6 |
7 | ```java
8 | dp[0] = 0 // 동전의 가치는 자연수임
9 | for (int coin : coins) {
10 | dp[n] = Math.min(dp[n], 1 + dp[n-coin]);
11 | }
12 | ```
13 |
14 | 동전이 1원, 5원이 있다고 할 때, 7원을 만드는 방법은 `5원 1개 + [2원을 만드는 방법의 최솟값]`, `1원 1개 + [6원을 만드는 방법의 최솟값]` 중 최솟값이다. 이를 점화식으로 표현하면 위와 같다.
15 |
16 | 
17 |
--------------------------------------------------------------------------------
/src/DP/P2294/input.txt:
--------------------------------------------------------------------------------
1 | 3 15
2 | 12
3 | 4
4 | 2
--------------------------------------------------------------------------------
/src/DP/P2533/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2533] 사회망 서비스(SNS)
2 |
3 | 
4 | 
5 |
6 | ### 풀이 과정
7 |
8 | > 풀이 과정을 떠올릴 수가 없어서 [이 블로그](https://comyoung.tistory.com/41) 를 참고하였다.
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/src/DP/P2533/input.txt:
--------------------------------------------------------------------------------
1 | 8
2 | 1 2
3 | 1 3
4 | 1 4
5 | 2 5
6 | 2 6
7 | 4 7
8 | 4 8
--------------------------------------------------------------------------------
/src/DP/P2579/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2579] 계단 오르기
2 |
3 | 
4 | 
5 |
6 | ### 점화식
7 |
8 | ```
9 | /* 한 계단 오를 때 (연속 3번 방지) */
10 | dp[n] = dp[n-3] + stair[n-1] + stair[n]
11 | /* 두 계단 오를 때 */
12 | dp[n] = dp[n-2] + stair[n]
13 | ```
14 |
--------------------------------------------------------------------------------
/src/DP/P2579/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 10
3 | 20
4 | 15
5 | 25
6 | 10
7 | 20
--------------------------------------------------------------------------------
/src/DP/P2629/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 2 3 3 3
3 | 3
4 | 1 4 10
--------------------------------------------------------------------------------
/src/DP/P9095/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-9095] 1, 2, 3 더하기
2 |
3 | 
4 |
5 | ### 점화식
6 |
7 | ```java
8 | dp[1] = 1
9 | dp[2] = 2
10 | dp[3] = 4
11 | dp[n] = dp[n-1] + dp[n-2] + dp[n-3];
12 | ```
13 |
14 | 정수 n을 1, 2, 3의 합으로 나타내는 방법은 dp[n-1]에 +1을 한 것, dp[n-2]에 +2를 한 것,
15 | dp[n-3]에 +3을 한 것, 이 모든 경우의 수를 합친 것과 같다.
16 |
--------------------------------------------------------------------------------
/src/DP/P9095/input.txt:
--------------------------------------------------------------------------------
1 | 10
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 6
8 | 7
9 | 8
10 | 9
11 | 10
12 |
13 | //1
14 | 2
15 | 4
16 | 7
17 | 13
18 | 24
19 | 44
20 | 81
21 | 149
22 | 274
23 |
--------------------------------------------------------------------------------
/src/DP/P9465/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-9465] 스티커
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DP/P9465/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 5
3 | 50 10 100 20 40
4 | 30 50 70 10 60
5 | 7
6 | 10 30 10 50 100 20 40
7 | 20 40 30 50 60 20 80
--------------------------------------------------------------------------------
/src/DP/jo1681/README.md:
--------------------------------------------------------------------------------
1 | ## [JUNGOL-1681] 해밀턴 순환회로
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/DP/jo1681/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 0 30 94 73 90
3 | 42 0 32 78 81
4 | 52 3 0 55 0
5 | 63 0 87 0 12
6 | 31 0 60 33 0
7 | // 160
8 |
9 | 5
10 | 0 14 4 10 20
11 | 14 0 7 8 7
12 | 4 5 0 7 16
13 | 11 7 9 0 2
14 | 18 7 17 4 0
15 | // 30
--------------------------------------------------------------------------------
/src/DP/prg42895/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 동적계획법] N으로 표현
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/DP/swea1861/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1861] 정사각형 방
2 |
3 | 
4 |
5 | ### BFS, DFS, DP
6 |
7 | 
8 |
9 | 아래서부터 순서대로 BFS, DFS, DP로 푼 실행 결과이다.
10 |
11 | - 현 문제에서 정말 위험한 메모리 성능 : BFS
12 | - 가장 빨리 구현할 수 있는 것 : DFS
13 | - 가장 좋은 성능을 보장하는 것 : DP
14 |
--------------------------------------------------------------------------------
/src/DP/swea1861/output.txt:
--------------------------------------------------------------------------------
1 | #1 6 8
2 | #2 3 2
3 | #3 149 2
4 | #4 2 45
5 | #5 2 23
6 | #6 1 2
7 | #7 1 4
8 | #8 5 17
9 | #9 4 2
10 | #10 1 35
11 | #11 2 2
12 | #12 7 2
13 | #13 45 2
14 | #14 113 2
15 | #15 12 32
16 | #16 6 9
17 | #17 1 4
18 | #18 36 42
19 | #19 204 2
20 | #20 7 14
21 | #21 4 2
22 | #22 8225 2200
23 | #23 35 3
24 | #24 2 2
25 | #25 613 2
26 | #26 33 2
27 | #27 5 5
28 |
--------------------------------------------------------------------------------
/src/DP/swea1952/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1952] 수영장
2 |
3 | 
4 | 
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/DP/swea1952/sample_input.txt:
--------------------------------------------------------------------------------
1 | 10
2 | 10 40 100 300
3 | 0 0 2 9 1 5 0 0 0 0 0 0
4 | 10 100 50 300
5 | 0 0 0 0 0 0 0 0 6 2 7 8
6 | 10 70 180 400
7 | 6 9 7 7 7 5 5 0 0 0 0 0
8 | 10 70 200 550
9 | 0 0 0 0 8 9 6 9 6 9 8 6
10 | 10 80 200 550
11 | 0 8 9 15 1 13 2 4 9 0 0 0
12 | 10 130 360 1200
13 | 0 0 0 15 14 11 15 13 12 15 10 15
14 | 10 180 520 1900
15 | 0 18 16 16 19 19 18 18 15 16 17 16
16 | 10 100 200 1060
17 | 12 9 11 13 11 8 6 12 8 7 15 6
18 | 10 170 500 1980
19 | 19 18 18 17 15 19 19 16 19 15 17 18
20 | 10 200 580 2320
21 | 12 28 24 24 29 25 23 26 26 28 27 22
--------------------------------------------------------------------------------
/src/DP/swea1952/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 110
2 | #2 100
3 | #3 400
4 | #4 530
5 | #5 430
6 | #6 1080
7 | #7 1840
8 | #8 800
9 | #9 1980
10 | #10 2260
11 |
--------------------------------------------------------------------------------
/src/GCD/P14476/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 8 12 20 32 36
--------------------------------------------------------------------------------
/src/GCD/P1735/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1735] 분수 합
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/GCD/P1735/input.txt:
--------------------------------------------------------------------------------
1 | 2 7
2 | 3 5
--------------------------------------------------------------------------------
/src/GCD/P2609/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2609] 최대공약수와 최소공배수
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/GCD/P2609/input.txt:
--------------------------------------------------------------------------------
1 | 24 18
--------------------------------------------------------------------------------
/src/Graph/P11404/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11404] 플로이드
2 |
3 | 
4 |
5 | 
6 |
7 | 플로이드-워셜 알고리즘을 이용하는데, 문제에서 "시작 도시와 도착 도시를 연결하는 노선은 하나가 아닐 수 있다." 라는 조건을 확인하고 이 부분을 고려해야 한다.
8 |
--------------------------------------------------------------------------------
/src/Graph/P11404/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 14
3 | 1 2 2
4 | 1 3 3
5 | 1 4 1
6 | 1 5 10
7 | 2 4 2
8 | 3 4 1
9 | 3 5 1
10 | 4 5 3
11 | 3 5 10
12 | 3 1 8
13 | 1 4 2
14 | 5 1 7
15 | 3 4 2
16 | 5 2 4
--------------------------------------------------------------------------------
/src/Graph/P11657/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11657] 타임머신
2 |
3 | 
4 |
5 | ### 출력 초과 이슈
6 |
7 | > [11657번 - 타임머신 > 출력초과 문제 해결이 되었는데 이유를 모르겠습니다](https://www.acmicpc.net/board/view/55270)
8 |
9 | 
10 |
11 | 음의 가중치가 허용되기 때문에 underflow 이슈를 고려해야 한다. 앞으로 이런 부분도 신경 써서 구현해야겠다.
12 |
13 | 
14 |
--------------------------------------------------------------------------------
/src/Graph/P11657/input.txt:
--------------------------------------------------------------------------------
1 | 3 4
2 | 1 2 4
3 | 1 3 3
4 | 2 3 -1
5 | 3 1 -2
6 |
7 | 3 4
8 | 1 2 4
9 | 1 3 3
10 | 2 3 -4
11 | 3 1 -2
12 |
13 | 3 2
14 | 1 2 4
15 | 1 2 3
16 |
--------------------------------------------------------------------------------
/src/Graph/P11724/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11724] 연결 요소의 개수
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Graph/P11724/input.txt:
--------------------------------------------------------------------------------
1 | 6 8
2 | 1 2
3 | 2 5
4 | 5 1
5 | 3 4
6 | 4 6
7 | 5 4
8 | 2 4
9 | 2 3
--------------------------------------------------------------------------------
/src/Graph/P1197/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1197] 최소 스패닝 트리
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/P1197/input.txt:
--------------------------------------------------------------------------------
1 | 3 3
2 | 1 2 1
3 | 2 3 2
4 | 1 3 3
--------------------------------------------------------------------------------
/src/Graph/P14621/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14621] 나만 안되는 연애
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/P14621/input.txt:
--------------------------------------------------------------------------------
1 | 5 7
2 | M W W W M
3 | 1 2 12
4 | 1 3 10
5 | 4 2 5
6 | 5 2 5
7 | 2 5 10
8 | 3 4 3
9 | 5 4 7
10 |
11 | 3 3
12 | M W M
13 | 1 2 1
14 | 2 3 1
15 | 1 3 1
16 | // ans 2
17 |
--------------------------------------------------------------------------------
/src/Graph/P16398/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-16398] 행성 연결
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/P16398/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 0 6 8 1 3
3 | 6 0 5 7 3
4 | 8 5 0 9 4
5 | 1 7 9 0 6
6 | 3 3 4 6 0
--------------------------------------------------------------------------------
/src/Graph/P16562/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-16562] 친구비
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/P16562/input.txt:
--------------------------------------------------------------------------------
1 | 5 4 100
2 | 6 2 3 4 5
3 | 1 5
4 | 2 4
5 | 4 3
6 | 5 4
7 |
8 | 5 3 10
9 | 10 10 20 20 30
10 | 1 3
11 | 2 4
12 | 5 4
--------------------------------------------------------------------------------
/src/Graph/P1707/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1707] 이분 그래프
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Graph/P1707/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 3 2
3 | 1 3
4 | 2 3
5 | 4 4
6 | 1 2
7 | 2 3
8 | 3 4
9 | 4 2
10 | 9 6
11 | 1 5
12 | 1 6
13 | 1 9
14 | 2 7
15 | 3 8
16 | 4 8
17 | 1000000 1
18 | 4 6
--------------------------------------------------------------------------------
/src/Graph/P1717/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1717] 집합의 표현
2 |
3 | ### 문제 분석
4 |
5 | - 초기화 : {0}, {1}, {2}, ... {n} 이 각각 n+1개의 집합
6 | - Union : 합집합 연산
7 | - Find : 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산
8 |
9 | ### 입력
10 |
11 | - 첫째 줄 : n(1≤n≤1,000,000), m(1≤m≤100,000)
12 | - n : 집합 원소의 최댓값
13 | - m : 주어질 연산의 수
14 | - 다음 m개의 줄
15 | - Union : 0 a b의 형태, a가 포함되어 있는 집합과 b가 포함되어 있는 집합을 합친다
16 | - Find : 1 a b의 형태, a와 b가 같은 집합에 포함되어 있는지를 확인
17 | - a와 b는 n 이하의 자연수 또는 0이며 같을 수도 있다.
18 |
19 | ### 출력
20 |
21 | - 1로 시작하는 입력에 대해서 한 줄에 하나씩 YES/NO(yes/no)로 결과를 출력한다.
22 |
--------------------------------------------------------------------------------
/src/Graph/P1717/input.txt:
--------------------------------------------------------------------------------
1 | 7 8
2 | 0 1 1
3 | 1 1 7
4 | 0 7 6
5 | 1 7 1
6 | 0 3 7
7 | 0 4 2
8 | 0 1 1
9 | 1 1 1
--------------------------------------------------------------------------------
/src/Graph/P1738/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1738] 골목길
2 |
3 | 
4 |
5 | ### 풀이 과정
6 |
7 | 경로를 구하는 법을 잘 모르겠어서 다른 풀이를 참고했다. 다음에 풀 때는 잘 풀 수 있기를 !!
8 |
9 | - 가중치가 최대가 되는 경로를 구해야 하므로 주어진 가중치에 `-1`을 곱하여 최단경로 문제로 바꿀 수 있다.
10 | - 경로를 구하기 위해 `prev` 배열을 선언하여 최단경로가 업데이트될 때마다 방문한 노드를 배열에 저장하면 된다.
11 | - 싸이클이 존재하더라도 1에서 n까지 가는 경로에 싸이클이 없으면 가능한 경로가 된다. 이를 구하기 위해 최단 경로를 구하기 전 `bfs`를 통해 n과 연결된 길의 방문 노드를 체크한다.
12 |
13 | 
14 |
--------------------------------------------------------------------------------
/src/Graph/P1738/input.txt:
--------------------------------------------------------------------------------
1 | 5 7
2 | 1 2 3
3 | 1 3 4
4 | 3 1 -7
5 | 2 3 2
6 | 3 4 1
7 | 4 2 -2
8 | 4 5 1
--------------------------------------------------------------------------------
/src/Graph/P17472/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17472] 다리 만들기 2
2 |
3 | 
4 | 
5 | 
6 |
7 | 이 문제는 BFS + MST !!
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/Graph/P17472/input.txt:
--------------------------------------------------------------------------------
1 | 10 6
2 | 0 0 0 1 0 0
3 | 0 0 0 1 0 0
4 | 0 1 0 0 0 1
5 | 0 0 0 0 0 0
6 | 1 1 0 1 1 0
7 | 1 0 0 0 1 0
8 | 1 1 0 0 1 0
9 | 0 0 0 0 1 1
10 | 0 0 0 0 0 0
11 | 0 1 0 0 0 0
12 | ans: 13
13 |
14 | 7 7
15 | 1 1 1 0 1 1 1
16 | 1 1 1 0 1 1 1
17 | 1 1 1 0 1 1 1
18 | 0 0 0 0 0 0 0
19 | 1 1 1 0 1 1 1
20 | 1 1 1 0 1 1 1
21 | 1 1 1 0 1 1 1
--------------------------------------------------------------------------------
/src/Graph/P1753/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1753] 최단경로
2 |
3 | 
4 |
5 | ### 다익스트라 알고리즘 - Priority Queue를 이용한 개선 알고리즘
6 |
7 | - 그래프 정보를 이차원 배열에 저장하면 **메모리 초과**
8 | - 단순 배열로 다음 방문 정점을 고르면 **시간 초과**
9 |
10 | 
11 |
12 | ### 2021.03.22
13 |
14 | - [210322.java](Main2.java)
15 |
--------------------------------------------------------------------------------
/src/Graph/P1753/input.txt:
--------------------------------------------------------------------------------
1 | 5 6
2 | 1
3 | 5 1 1
4 | 1 2 2
5 | 1 3 3
6 | 2 3 4
7 | 2 4 5
8 | 3 4 6
--------------------------------------------------------------------------------
/src/Graph/P1854/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1854] K번째 최단경로 찾기
2 |
3 | 
4 |
5 | ### 풀이 로직
6 |
7 | 다익스트라 알고리즘은 현재 계산된 최단 거리보다 큰 값이 들어오면 무시해버린다.
8 | 이 문제는 그 값을 무시하지 않고 top `K` 를 뽑는 것이다. 어떻게 이런 생각을 했을까.
9 | 참 재밌는 다익스트라 🧘🏼♂️
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/src/Graph/P1854/input.txt:
--------------------------------------------------------------------------------
1 | 5 10 2
2 | 1 2 2
3 | 1 3 7
4 | 1 4 5
5 | 1 5 6
6 | 2 4 2
7 | 2 3 4
8 | 3 4 6
9 | 3 5 8
10 | 5 2 4
11 | 5 4 1
12 |
13 | //output
14 | -1
15 | 10
16 | 7
17 | 5
18 | 14
--------------------------------------------------------------------------------
/src/Graph/P1944/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1944] 복제 로봇
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/P1944/input.txt:
--------------------------------------------------------------------------------
1 | 5 2
2 | 11111
3 | 1S001
4 | 10001
5 | 1K1K1
6 | 11111
--------------------------------------------------------------------------------
/src/Graph/P21276/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-21276] 계보 복원가 호석
2 |
3 | 
4 |
5 | 이 문제는 위상정렬 + Map 자료구조를 사용하는 문제이다. 위상정렬 문제라는 것을 떠올리기 힘들었다. 더 공부하도록 !!!
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Graph/P21276/input.txt:
--------------------------------------------------------------------------------
1 | 7
2 | daeil sangdo yuri hoseok minji doha haeun
3 | 7
4 | hoseok sangdo
5 | yuri minji
6 | hoseok daeil
7 | daeil sangdo
8 | haeun doha
9 | doha minji
10 | haeun minji
--------------------------------------------------------------------------------
/src/Graph/P21278/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-21278] 호석이 두 마리 치킨
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/P21278/input.txt:
--------------------------------------------------------------------------------
1 | 5 4
2 | 1 3
3 | 4 2
4 | 2 5
5 | 3 2
--------------------------------------------------------------------------------
/src/Graph/P2252/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2252] 줄 세우기
2 |
3 | 
--------------------------------------------------------------------------------
/src/Graph/P2252/input.txt:
--------------------------------------------------------------------------------
1 | 4 2
2 | 4 2
3 | 3 1
--------------------------------------------------------------------------------
/src/Graph/P2458/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2458] 키 순서
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/P2458/input.txt:
--------------------------------------------------------------------------------
1 | 6 6
2 | 1 5
3 | 3 4
4 | 5 4
5 | 4 2
6 | 4 6
7 | 5 2
--------------------------------------------------------------------------------
/src/Graph/P3860/input.txt:
--------------------------------------------------------------------------------
1 | 5 5
2 | 11
3 | 0 1
4 | 0 2
5 | 0 3
6 | 1 1
7 | 1 2
8 | 1 3
9 | 2 1
10 | 2 2
11 | 2 3
12 | 3 1
13 | 3 2
14 | 1
15 | 0 4 1 0 -12
16 | 0 0
17 |
18 | 3 3
19 | 2
20 | 2 1
21 | 1 2
22 | 0
23 | 4 3
24 | 2
25 | 2 1
26 | 3 1
27 | 1
28 | 3 0 2 2 0
29 | 4 2
30 | 0
31 | 1
32 | 2 0 1 0 -3
33 | 0 0
34 |
35 | // output
36 | Impossible
37 | 4
38 | Never
--------------------------------------------------------------------------------
/src/Graph/P4195/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-4195] 친구 네트워크
2 |
3 | 
4 |
5 | ### 풀이 과정
6 |
7 | - 친구 이름을 문자열로 받는다 -> HashMap
8 | - 친구 네트워크 구성 -> Union-Find
9 | - 친구 네트워크의 크기 구하기 -> size 배열 따로 선언
10 |
11 | 어느 정도 생각하게 만드는 좋은 문제였다. 😆
12 |
13 | 
14 |
--------------------------------------------------------------------------------
/src/Graph/P4195/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 3
3 | Fred Barney
4 | Barney Betty
5 | Betty Wilma
6 | 3
7 | Fred Barney
8 | Betty Wilma
9 | Barney Betty
--------------------------------------------------------------------------------
/src/Graph/P4386/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-4386] 별자리 만들기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/P4386/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 1.0 1.0
3 | 2.0 2.0
4 | 2.0 4.0
--------------------------------------------------------------------------------
/src/Graph/P5719/input.txt:
--------------------------------------------------------------------------------
1 | 7 9
2 | 0 6
3 | 0 1 1
4 | 0 2 1
5 | 0 3 2
6 | 0 4 3
7 | 1 5 2
8 | 2 6 4
9 | 3 6 2
10 | 4 6 4
11 | 5 6 1
12 | 4 6
13 | 0 2
14 | 0 1 1
15 | 1 2 1
16 | 1 3 1
17 | 3 2 1
18 | 2 0 3
19 | 3 0 2
20 | 6 8
21 | 0 1
22 | 0 1 1
23 | 0 2 2
24 | 0 3 3
25 | 2 5 3
26 | 3 4 2
27 | 4 1 1
28 | 5 1 1
29 | 3 0 1
30 | 0 0
--------------------------------------------------------------------------------
/src/Graph/P9205/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-9205] 맥주 마시면서 걸어가기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/P9205/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 2
3 | 0 0
4 | 1000 0
5 | 1000 1000
6 | 2000 1000
7 | 2
8 | 0 0
9 | 1000 0
10 | 2000 1000
11 | 2000 2000
--------------------------------------------------------------------------------
/src/Graph/jo1863/input.txt:
--------------------------------------------------------------------------------
1 | 10 9
2 | 1 2
3 | 1 3
4 | 1 4
5 | 1 5
6 | 1 6
7 | 1 7
8 | 1 8
9 | 1 9
10 | 1 10
--------------------------------------------------------------------------------
/src/Graph/prg43162/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 깊이/너비 우선 탐색(DFS/BFS)] 네트워크
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Graph/prg49189/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 그래프] 가장 먼 노드
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Graph/prg49191/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 그래프] 순위
2 |
3 | 
4 |
5 | ### 유사한 문제
6 |
7 | [BOJ 2458 키 순서](../P2458) 문제와 비슷하며 풀이도 동일하게 해서 풀었다.
8 |
--------------------------------------------------------------------------------
/src/Graph/swea1251/output.txt:
--------------------------------------------------------------------------------
1 | #1 10000
2 | #2 180000
3 | #3 1125000
4 | #4 1953913
5 | #5 27365366
6 | #6 337122
7 | #7 711268755613
8 | #8 280157
9 | #9 521568761
10 | #10 34
11 | #11 375890356686
12 | #12 68427157
13 | #13 21404
14 | #14 16620885
15 | #15 4776395492
16 | #16 54860981981
17 | #17 24236206202
18 | #18 132410
19 | #19 12876964085
20 | #20 7016649393
--------------------------------------------------------------------------------
/src/Graph/swea1263/output.txt:
--------------------------------------------------------------------------------
1 | #1 2
2 | #2 3
3 | #3 25
4 | #4 37
5 | #5 16
6 | #6 11
7 | #7 21
8 | #8 20
9 | #9 715
10 | #10 1449
--------------------------------------------------------------------------------
/src/Graph/swea3289/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 3289] 서로소 집합
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Graph/swea3289/sample_input.txt:
--------------------------------------------------------------------------------
1 | 1
2 | 7 8
3 | 0 1 3
4 | 1 1 7
5 | 0 7 6
6 | 1 7 1
7 | 0 3 7
8 | 0 4 2
9 | 0 1 1
10 | 1 1 1
11 |
--------------------------------------------------------------------------------
/src/Greedy/P1092/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1092] 배
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Greedy/P1092/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 6 8 9
3 | 5
4 | 2 5 2 4 7
--------------------------------------------------------------------------------
/src/Greedy/P11047/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11047] 동전 0
2 |
3 | 
4 |
5 | 동전들이 배수 관계이므로 그리디하게 풀 수 있다 !!
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Greedy/P11047/input.txt:
--------------------------------------------------------------------------------
1 | 10 4790
2 | 1
3 | 5
4 | 10
5 | 50
6 | 100
7 | 500
8 | 1000
9 | 5000
10 | 10000
11 | 50000
--------------------------------------------------------------------------------
/src/Greedy/P1343/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1343] 폴리오미노
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Greedy/P1343/input.txt:
--------------------------------------------------------------------------------
1 | XXXXXX
--------------------------------------------------------------------------------
/src/Greedy/P2839/Main.java:
--------------------------------------------------------------------------------
1 | package Greedy.P2839;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Main {
6 |
7 | public static void main(String[] args) {
8 | Scanner sc = new Scanner(System.in);
9 | int N = sc.nextInt();
10 | int ans = 0;
11 | while (N > 0) {
12 | if (N%5==0) { ans += N/5; N = 0; }
13 | else { ans ++; N-= 3; }
14 | }
15 | if (N < 0) System.out.println(-1);
16 | else System.out.println(ans);
17 | }
18 | }
--------------------------------------------------------------------------------
/src/Greedy/P2839/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2839] 설탕 배달
2 |
3 | 
4 |
5 | ### Greedy Algorithm vs DP
6 |
7 | - [using Greedy Alg](Main.java)
8 | 
9 |
10 | - [using DP](usingDP.java)
11 | 
12 |
--------------------------------------------------------------------------------
/src/Greedy/P2839/usingDP.java:
--------------------------------------------------------------------------------
1 | package Greedy.P2839;
2 |
3 | import java.util.*;
4 |
5 | public class usingDP {
6 |
7 | public static void main(String[] args) {
8 | Scanner sc = new Scanner(System.in);
9 |
10 | int N = sc.nextInt();
11 |
12 | int[] dp = new int[5001];
13 | Arrays.fill(dp, 5000);
14 |
15 | dp[3] = 1;
16 | dp[5] = 1;
17 | for (int i = 6; i <= N; i++) {
18 | dp[i] = Math.min(dp[i-3], dp[i-5]) + 1;
19 | }
20 |
21 | if (dp[N] >= 5000) System.out.println(-1);
22 | else System.out.println(dp[N]);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Greedy/P2847/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2847] 게임을 만든 동준이
2 |
3 | 
4 |
5 | 생각의 흐름대로 정확하게 코드를 짜면 되는 문제였다.
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Greedy/P2847/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 5
3 | 5
4 | 5
--------------------------------------------------------------------------------
/src/Greedy/jo1828/README.md:
--------------------------------------------------------------------------------
1 | ## [JUNGOL-1828] 냉장고
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Hash/P1764/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1764] 듣보잡
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Hash/P1764/input.txt:
--------------------------------------------------------------------------------
1 | 3 4
2 | ohhenrie
3 | charlie
4 | baesangwook
5 | obama
6 | baesangwook
7 | ohhenrie
8 | clinton
--------------------------------------------------------------------------------
/src/Hash/prg42576/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 해시] 완주하지 못한 선수
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Hash/prg42576/Solution.java:
--------------------------------------------------------------------------------
1 | package Hash.prg42576;
2 |
3 | import java.util.*;
4 |
5 | class Solution {
6 |
7 | HashMap map = new HashMap<>();
8 |
9 | public String solution(String[] participant, String[] completion) {
10 |
11 | for (String p : participant) {
12 | map.merge(p, 1, Integer::sum);
13 | }
14 |
15 | for (String c : completion) {
16 | if (map.get(c) == 1) map.remove(c);
17 | else map.put(c, map.get(c)-1);
18 | }
19 |
20 | String ans = "";
21 | for (String s : map.keySet()) ans = s;
22 |
23 | return ans;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Hash/prg42577/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 해시] 전화번호 목록
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Hash/prg42577/Solution.java:
--------------------------------------------------------------------------------
1 | package Hash.prg42577;
2 |
3 | import java.util.*;
4 |
5 | class Solution {
6 |
7 | HashSet set = new HashSet<>();
8 |
9 | public boolean solution(String[] phone_book) {
10 |
11 | Collections.addAll(set, phone_book);
12 |
13 | for (String p : phone_book) {
14 | for (int i = 1; i < p.length(); i++) {
15 | if (set.contains(p.substring(0, i))) return false;
16 | }
17 | }
18 |
19 | return true;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/Hash/prg42578/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 해시] 위장
2 |
3 | 
4 |
5 | ### 경우의 수 구하기 : 시간초과 이슈
6 |
7 | 처음에 경우의 수를 부분집합으로 구했으나 시간초과가 났다. 대신 조금 찾아보니 경우의 수를 훨씬 쉽게 구할 수 있는 방법이 있었다.
8 |
9 | > 만약 A 종류의 옷이 3개가 있다면 경우의 수는 이 3가지를 입는경우 + 이 종류를 입지 않는 경우 1 = 4가지가 된다. 이런식으로 모든 종류의 옷 개수에 1을 더해준 후 모두 곱하면 이를 모두 고려한 개수가 나오며, 여기서 1을 빼주면 모두 입지 않은 경우를 제외하기 때문에 정답이 된다.
10 | > 출처 : [프로그래머스 - 위장 @so-soon](https://velog.io/@so-soon/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%9C%84%EC%9E%A5)
11 |
12 | 기억하고 있다가 다음에 비슷한 문제가 나오면 써먹자 !!
13 |
--------------------------------------------------------------------------------
/src/Hash/prg42578/Solution.java:
--------------------------------------------------------------------------------
1 | package Hash.prg42578;
2 |
3 | import java.util.*;
4 |
5 | class Solution {
6 |
7 | HashMap map = new HashMap<>();
8 | int ans = 1;
9 |
10 | public int solution(String[][] clothes) {
11 |
12 | for (String[] c : clothes) {
13 | map.merge(c[1], 1, Integer::sum);
14 | }
15 |
16 | for (int val : map.values()) {
17 | ans *= val+1;
18 | }
19 |
20 | return ans-1;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/Hash/prg42579/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 해시] 베스트앨범
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Heap/P11279/input.txt:
--------------------------------------------------------------------------------
1 | 13
2 | 0
3 | 1
4 | 2
5 | 3
6 | 2
7 | 1
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
--------------------------------------------------------------------------------
/src/Heap/P11286/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11286] 절댓값 힙
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Heap/P11286/input.txt:
--------------------------------------------------------------------------------
1 | 18
2 | 1
3 | -1
4 | 0
5 | 0
6 | 0
7 | 1
8 | 1
9 | -1
10 | -1
11 | 2
12 | -2
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
--------------------------------------------------------------------------------
/src/Heap/P1202/input.txt:
--------------------------------------------------------------------------------
1 | 3 2
2 | 1 65
3 | 5 23
4 | 2 99
5 | 10
6 | 2
--------------------------------------------------------------------------------
/src/Heap/P1927/input.txt:
--------------------------------------------------------------------------------
1 | 31
2 | 4
3 | 15
4 | 11
5 | 20
6 | 13
7 | 19
8 | 23
9 | 3
10 | 24
11 | 99
12 | 193
13 | 1
14 | 3
15 | 483
16 | 213
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
--------------------------------------------------------------------------------
/src/Heap/P7662/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 7
3 | I 16
4 | I -5643
5 | D 1
6 | D -1
7 | D 1
8 | I 123
9 | D -1
10 | 9
11 | I -45
12 | I 653
13 | D 1
14 | I -642
15 | I 45
16 | I 97
17 | D 1
18 | D -1
19 | I 333
--------------------------------------------------------------------------------
/src/Heap/prg42626/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 힙(Heap)] 더 맵게
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Heap/prg42627/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 힙(Heap)] 디스크 컨트롤러
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Heap/prg42628/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 힙(Heap)] 이중우선순위큐
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Implementation/P10713/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10713] 기차 여행
2 |
3 | 
4 | 
5 |
6 | ### 정수 범위 생각하기
7 |
8 | 해당 문제에서 자꾸 50점이 나와 처음에는 시간 문제인줄 알고 여러 시도를 해보았으나 아니었다. 제한을 살펴보면 계산해봤을 때 비용이 정수 범위를 훨씬 넘어갈 수 있는데 `int`로 계산한 것이 문제였다. 앞으로 시간 뿐만 아니라 타입도 잘 살펴보고 코딩하자 !! (그래도 `long`으로 바꾸고 돌렸을 때, 이전에 실행 시간을 줄이려던 시도를 많이 했던 덕분에 짧은 코드와 실행 시간의 결과를 볼 수 있었다. 기분은 좋아 🤣)
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/src/Implementation/P10713/input.txt:
--------------------------------------------------------------------------------
1 | 8 5
2 | 7 5 3 5 4
3 | 12 5 8
4 | 16 2 1
5 | 3 1 5
6 | 17 12 17
7 | 19 7 5
8 | 12 2 19
9 | 4 1 3
--------------------------------------------------------------------------------
/src/Implementation/P11005/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11005] 진법 변환 2
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Implementation/P11005/input.txt:
--------------------------------------------------------------------------------
1 | 10 2
--------------------------------------------------------------------------------
/src/Implementation/P12933/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-12933] 오리
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Implementation/P12933/input.txt:
--------------------------------------------------------------------------------
1 | quackqauckquack
--------------------------------------------------------------------------------
/src/Implementation/P15787/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-15787] 기차가 어둠을 헤치고 은하수를
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Implementation/P15787/input.txt:
--------------------------------------------------------------------------------
1 | 5 5
2 | 1 1 1
3 | 1 1 2
4 | 1 2 2
5 | 1 2 3
6 | 3 1
--------------------------------------------------------------------------------
/src/Implementation/P16463/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-16463] 13일의 금요일
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Implementation/P16463/input.txt:
--------------------------------------------------------------------------------
1 | 100000
--------------------------------------------------------------------------------
/src/Implementation/P16719/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-16719] ZOAC
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Implementation/P16719/input.txt:
--------------------------------------------------------------------------------
1 | ZOAC
--------------------------------------------------------------------------------
/src/Implementation/P20546/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-20546] 기적의 매매법
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Implementation/P20546/input.txt:
--------------------------------------------------------------------------------
1 | 100
2 | 10 20 23 34 55 30 22 19 12 45 23 44 34 38
--------------------------------------------------------------------------------
/src/Implementation/P21608/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-21608] 상어 초등학교
2 |
3 | 
4 | 
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Implementation/P21608/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 4 2 5 1 7
3 | 2 1 9 4 5
4 | 5 8 1 4 3
5 | 1 2 9 3 4
6 | 7 2 3 4 8
7 | 9 8 4 5 7
8 | 6 5 2 3 4
9 | 8 4 9 2 1
10 | 3 9 2 1 4
--------------------------------------------------------------------------------
/src/Implementation/P2615/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2615] 오목
2 |
3 | 
4 | 
5 |
6 | ### 세심하게 풀어야 한다
7 |
8 | 이 문제는 주의할 점이 많다 ! 이런 문제는 세심하게, 정확하게 ㅠㅠㅠ 풀자 ㅠㅠ !!
9 |
10 | - 바둑판을 순차적으로 순회하며 이미 6개라고 세고 지나온 후, 다시 세면 5개일 수 있다. 그러면 바로 버그 ~
11 | - 만일 ↙ 이 방향으로 오목이라면 제일 왼쪽 인덱스를 계산해서 출력해줘야 한다.
12 |
13 | 
14 |
--------------------------------------------------------------------------------
/src/Implementation/P2877/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2877] 4와 7
2 |
3 | 
4 |
5 | ### 메모리 초과
6 |
7 | 처음엔 DP 문제인가 해서 DP로 풀었더니 메모리 초과 이슈가 발생했다.
8 | 잘 보고 더 효율적인 풀이를 생각하면서 풀자 !!
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/src/Implementation/P2877/input.txt:
--------------------------------------------------------------------------------
1 | 6
--------------------------------------------------------------------------------
/src/Implementation/P4396/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-4396] 지뢰 찾기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Implementation/P4396/input.txt:
--------------------------------------------------------------------------------
1 | 8
2 | ...**..*
3 | ......*.
4 | ....*...
5 | ........
6 | ........
7 | .....*..
8 | ...**.*.
9 | .....*..
10 | xxx.....
11 | xxxx....
12 | xxxx....
13 | xxxxx...
14 | xxxxx...
15 | xxxxx...
16 | xxx.....
17 | xxxxx...
--------------------------------------------------------------------------------
/src/Implementation/prg70130/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 월간 코드 챌린지 시즌1] 스타 수열
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Implementation/prg84512/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 구현] 모음 사전
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Implementation/prg85002/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 구현] 복서 정렬하기
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Implementation/prg86048/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 구현] 입실 퇴실
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/IndexedTree/P10868/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10868] 최솟값
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/IndexedTree/P10868/input.txt:
--------------------------------------------------------------------------------
1 | 10 4
2 | 75
3 | 30
4 | 100
5 | 38
6 | 50
7 | 51
8 | 52
9 | 20
10 | 81
11 | 5
12 | 1 10
13 | 3 5
14 | 6 9
15 | 8 10
--------------------------------------------------------------------------------
/src/IndexedTree/P11505/input.txt:
--------------------------------------------------------------------------------
1 | 5 2 3
2 | 1000000
3 | 1000000
4 | 1000000
5 | 1000000
6 | 1000000
7 | 2 1 5
8 | 1 3 0
9 | 2 2 5
10 | 1 3 6
11 | 2 2 5
--------------------------------------------------------------------------------
/src/IndexedTree/P1275/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1275] 커피숍2
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/IndexedTree/P1275/input.txt:
--------------------------------------------------------------------------------
1 | 5 3
2 | 1 2 3 4 5
3 | 2 3 3 1
4 | 3 5 4 1
5 | 5 1 2 3
--------------------------------------------------------------------------------
/src/IndexedTree/P12837/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-12837] 가계부 (Hard)
2 |
3 | 
4 |
5 | ### 문제 이해
6 |
7 | 처음에 문제를 잘못 이해해서 문제를 틀리게 되었다.
8 | 해당 문제의 1번 쿼리는 **값을 변경하는 것이 아니라, 추가하는 것**이라고 나와있다.
9 | 문제를 잘 읽어야 한다.
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/src/IndexedTree/P12837/input.txt:
--------------------------------------------------------------------------------
1 | 10 7
2 | 1 3 10000
3 | 1 4 -5000
4 | 1 7 -3000
5 | 2 4 7
6 | 1 6 35000
7 | 2 4 10
8 | 2 3 4
9 |
10 | 99 3
11 | 1 1 1
12 | 1 1 1
13 | 2 1 1
14 |
15 |
16 |
17 | //output
18 | 2000
19 | 27000
20 |
21 | 10 10
22 | 1 1 1
23 | 1 2 2
24 | 1 3 3
25 | 1 4 4
26 | 1 5 5
27 | 1 6 6
28 | 1 7 7
29 | 1 8 8
30 | 1 9 9
31 | 1 10 10
32 |
33 |
--------------------------------------------------------------------------------
/src/IndexedTree/P2042/input.txt:
--------------------------------------------------------------------------------
1 | 5 2 2
2 | 1
3 | 2
4 | 3
5 | 4
6 | 5
7 | 1 3 6
8 | 2 2 5
9 | 1 5 2
10 | 2 3 5
--------------------------------------------------------------------------------
/src/IndexedTree/P2243/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 2 1 2
3 | 2 3 3
4 | 1 2
5 | 1 2
6 | 2 1 -1
7 | 1 2
--------------------------------------------------------------------------------
/src/IndexedTree/P2268/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2268] 수들의 합
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/IndexedTree/P2268/input.txt:
--------------------------------------------------------------------------------
1 | 3 5
2 | 0 1 3
3 | 1 1 2
4 | 1 2 3
5 | 0 2 3
6 | 0 1 3
--------------------------------------------------------------------------------
/src/IndexedTree/P2357/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2357] 최솟값과 최댓값
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/IndexedTree/P2357/input.txt:
--------------------------------------------------------------------------------
1 | 10 4
2 | 75
3 | 30
4 | 100
5 | 38
6 | 50
7 | 51
8 | 52
9 | 20
10 | 81
11 | 5
12 | 1 10
13 | 3 5
14 | 6 9
15 | 8 10
--------------------------------------------------------------------------------
/src/IndexedTree/P5676/input.txt:
--------------------------------------------------------------------------------
1 | 3 2
2 | 0 0 0
3 | C 3 1
4 | P 3 3
5 | 10 1
6 | 100 100 100 100 100 100 100 100 100 10
7 | P 1 10
8 | 4 6
9 | -2 6 0 -1
10 | C 1 10
11 | P 1 4
12 | C 3 7
13 | P 2 2
14 | C 4 -5
15 | P 1 4
16 | 5 9
17 | 1 5 -2 4 3
18 | P 1 2
19 | P 1 5
20 | C 4 -5
21 | P 1 5
22 | P 4 5
23 | C 3 0
24 | P 1 5
25 | C 4 -5
26 | C 4 -52
--------------------------------------------------------------------------------
/src/Iterations/BinaryGap/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 1 Iterations] BinaryGap
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Iterations/swea1289/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1289] 원재의 메모리 복구하기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Iterations/swea1289/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 0011
3 | 100
--------------------------------------------------------------------------------
/src/Iterations/swea3499/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 3499] 퍼펙트 셔플
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Iterations/swea3499/sample_input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 6
3 | A B C D E F
4 | 4
5 | JACK QUEEN KING ACE
6 | 5
7 | ALAKIR ALEXSTRASZA DR-BOOM LORD-JARAXXUS AVIANA
8 |
9 | 2
10 | 8
11 | 1 2 3 4 5 6 7 8
12 | 9
13 | 1 2 3 4 5 6 7 8 9
--------------------------------------------------------------------------------
/src/Iterations/swea3499/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 A D B E C F
2 | #2 JACK KING QUEEN ACE
3 | #3 ALAKIR LORD-JARAXXUS ALEXSTRASZA AVIANA DR-BOOM
4 |
--------------------------------------------------------------------------------
/src/Iterations/swea4789/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 4789] 성공적인 공연 기획
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Iterations/swea4789/sample_input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 11111
3 | 09
4 | 110011
5 | 1
--------------------------------------------------------------------------------
/src/Iterations/swea4789/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 0
2 | #2 1
3 | #3 2
4 | #4 0
--------------------------------------------------------------------------------
/src/Iterations/swea5356/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 5356] 의석이의 세로로 말해요
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Iterations/swea5356/sample_input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | ABCDE
3 | abcde
4 | 01234
5 | FGHIJ
6 | fghij
7 | AABCDD
8 | afzz
9 | 09121
10 | a8EWg6
11 | P5h3kx
--------------------------------------------------------------------------------
/src/Iterations/swea5356/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 Aa0FfBb1GgCc2HhDd3IiEe4Jj
2 | #2 Aa0aPAf985Bz1EhCz2W3D1gkD6x
--------------------------------------------------------------------------------
/src/Iterations/swea6485/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 6485] 삼성시의 버스 노선
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Iterations/swea6485/s_input.txt:
--------------------------------------------------------------------------------
1 | 1
2 | 2
3 | 1 3
4 | 2 5
5 | 5
6 | 1
7 | 2
8 | 3
9 | 4
10 | 5
--------------------------------------------------------------------------------
/src/Iterations/swea6485/s_output.txt:
--------------------------------------------------------------------------------
1 | #1 1 2 2 1 1
--------------------------------------------------------------------------------
/src/Iterations/swea7964/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 7964] 부먹왕국의 차원 관문
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Iterations/swea7964/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 6 2
3 | 1 0 0 0 0 1
4 | 10 2
5 | 0 0 1 0 1 0 0 0 0 1
6 | 10 1
7 | 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/src/Iterations/swea7964/output.txt:
--------------------------------------------------------------------------------
1 | #1 2
2 | #2 3
3 | #3 10
--------------------------------------------------------------------------------
/src/List/P18115/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-18115] 카드 놓기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/List/P18115/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 2 3 3 2 1
--------------------------------------------------------------------------------
/src/Math/P13458/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-13458] 시험 감독
2 |
3 | 
4 |
5 | ### 주의해야 할 점
6 |
7 | - 문제의 범위를 고려했을 때 총 감독관 수를 담을 변수의 자료형은 `long`이어야 한다.
8 | - `A[i] - B`의 값이 음수일 경우 나눗셈을 했을 때 음수값이 나올 수 있으므로 해당 값이 0을 넘을 때만 계산하도록 조건을 추가해주어야 한다.
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/src/Math/P13458/input.txt:
--------------------------------------------------------------------------------
1 | 1
2 | 1
3 | 50 2
--------------------------------------------------------------------------------
/src/Math/P2108/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2108] 통계학
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Math/P2108/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | -1
3 | -2
4 | -3
5 | -1
6 | -2
--------------------------------------------------------------------------------
/src/Math/P21275/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-21275] 폰 호석만
2 |
3 | 
4 |
5 | 주어진 범위를 놓고 계산해보면 완전 탐색으로 풀 수 있는 문제이니 겁먹을 필요 없다.
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Math/P21275/input.txt:
--------------------------------------------------------------------------------
1 | 2222222222222222222222222222222222222222222222222222222222222222222222 8888888888888888888888888888888
--------------------------------------------------------------------------------
/src/Math/swea8382/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 8382] 방향 전환
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Math/swea8382/sample_input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 0 0 1 0
3 | -1 -1 0 0
4 | 0 0 0 2
--------------------------------------------------------------------------------
/src/Math/swea8382/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 1
2 | #2 2
3 | #3 4
--------------------------------------------------------------------------------
/src/Permutation/P10972/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10972] 다음 순열
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Permutation/P10972/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 1 2 3 4
--------------------------------------------------------------------------------
/src/Permutation/P10973/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10973] 이전 순열
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Permutation/P10973/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 5 4 3 2 1
--------------------------------------------------------------------------------
/src/Permutation/P10974/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10974] 모든 순열
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Permutation/P1722/README.md:
--------------------------------------------------------------------------------
1 | ### 범위
2 |
3 | > N(1≤N≤20), k(1≤k≤N!)
4 |
5 | 최대 범위 : 20! < long.Max
--------------------------------------------------------------------------------
/src/Permutation/P1722/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 2 3 2 1 4
--------------------------------------------------------------------------------
/src/Permutation/P5568/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 2
3 | 1
4 | 2
5 | 12
6 | 1
--------------------------------------------------------------------------------
/src/Permutation/P9742/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-9742] 순열
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Permutation/P9742/input.txt:
--------------------------------------------------------------------------------
1 | 235 4
2 | bein 20
3 | 123456 700
4 | mnpqr 130
5 | tuvwxyz 4000
--------------------------------------------------------------------------------
/src/Permutation/swea6808/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 6808] 규영이와 인영이의 카드게임
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Permutation/swea6808/s_input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 1 3 5 7 9 11 13 15 17
3 | 18 16 14 12 10 8 6 4 2
4 | 13 17 9 5 18 7 11 1 15
5 | 1 6 7 9 12 13 15 17 18
--------------------------------------------------------------------------------
/src/Permutation/swea6808/s_output.txt:
--------------------------------------------------------------------------------
1 | #1 112097 250783
2 | #2 250783 112097
3 | #3 336560 26320
4 | #4 346656 16224
--------------------------------------------------------------------------------
/src/Prime/P1644/input.txt:
--------------------------------------------------------------------------------
1 | 53
--------------------------------------------------------------------------------
/src/Prime/P1929/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1929] 소수 구하기
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/Prime/P1978/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1978] 소수 찾기
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Prime/swea4698/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 4698] 테네스의 특별한 소수
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Prime/swea4698/sample_input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 3 10 30
3 | 7 1 1000000
--------------------------------------------------------------------------------
/src/Prime/swea4698/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 2
2 | #2 43506
--------------------------------------------------------------------------------
/src/Probability/P13251/input.txt:
--------------------------------------------------------------------------------
1 | 1
2 | 13
3 | 8
--------------------------------------------------------------------------------
/src/Queue/P10845/input.txt:
--------------------------------------------------------------------------------
1 | 15
2 | push 1
3 | push 2
4 | front
5 | back
6 | size
7 | empty
8 | pop
9 | pop
10 | pop
11 | size
12 | empty
13 | pop
14 | push 3
15 | empty
16 | front
--------------------------------------------------------------------------------
/src/Queue/P1158/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1158] 요세푸스 문제
2 |
3 | 
4 |
5 | ### 다양한 자료구조를 이용한 풀이법
6 |
7 | - [Using Array (14672KB / 420ms)](Main.java)
8 | - [Using ArrayList (15044KB / 156ms)](Main2.java)
9 | - [Using Queue (295780KB / 540ms)](Main3.java)
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/src/Queue/P1158/input.txt:
--------------------------------------------------------------------------------
1 | 7 3
--------------------------------------------------------------------------------
/src/Queue/P18258/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-18258] 큐 2
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Queue/P18258/input.txt:
--------------------------------------------------------------------------------
1 | 15
2 | push 1
3 | push 2
4 | front
5 | back
6 | size
7 | empty
8 | pop
9 | pop
10 | pop
11 | size
12 | empty
13 | pop
14 | push 3
15 | empty
16 | front
--------------------------------------------------------------------------------
/src/Queue/P1966/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1966] 프린터 큐
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Queue/P1966/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 1 0
3 | 5
4 | 4 2
5 | 1 2 3 4
6 | 6 0
7 | 1 1 9 1 1 1
--------------------------------------------------------------------------------
/src/Queue/P3190/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-3190] 뱀
2 |
3 | 
4 |
5 | ### 내가 몰랐던 점
6 |
7 | 1. Deque 자료구조
8 |
9 | - 처음에 큐를 사용하려고 보니, 데이터를 뒤에서 빼야하는 경우가 필요해서 큐를 배제하고 head, tail을 만들어서 풀었다.
10 | 그런데 그 과정에서 tail 회전을 처리하면서 정확하지 않은, 알 수 없는 예외의 경우가 생겼고 **런타임 에러**, **틀렸습니다**의 결과를 볼 수 있었다.
11 | - Deque(Double-ended queue) 자료구조는 양 끝에서만 자료를 넣고 양 끝에서 뺄 수 있는 자료구조로, queue의 확장판이다.
12 | > 추후 note에 정리하겠다.
13 | - Deque를 사용하면 훨씬 편하게 문제를 풀 수 있었다.
14 |
15 | 2. HashMap
16 |
17 | - 처음에 괜히 클래스를 생성해서 time, direction 값을 저장했는데, 그럴 필요 없이 HashMap으로 저장하면 훨씬 간편했다.
18 |
19 |
--------------------------------------------------------------------------------
/src/Queue/P3190/input.txt:
--------------------------------------------------------------------------------
1 | 10
2 | 5
3 | 1 5
4 | 1 3
5 | 1 2
6 | 1 6
7 | 1 7
8 | 4
9 | 8 D
10 | 10 D
11 | 11 D
12 | 13 L
--------------------------------------------------------------------------------
/src/Queue/prg42583/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 스택/큐] 다리를 지나는 트럭
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Queue/prg42586/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 스택/큐] 기능개발
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Queue/prg42587/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 스택/큐] 프린터
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Queue/swea1225/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1225] 암호생성기
2 |
3 | 
4 | 
5 | 
6 | 
7 |
--------------------------------------------------------------------------------
/src/Queue/swea1225/input.txt:
--------------------------------------------------------------------------------
1 | 1
2 | 9550 9556 9550 9553 9558 9551 9551 9551
3 | 2
4 | 2419 2418 2423 2415 2422 2419 2420 2415
5 | 3
6 | 7834 7840 7840 7835 7841 7835 7835 7838
7 | 4
8 | 4088 4087 4090 4089 4093 4085 4090 4084
9 | 5
10 | 2945 2946 2950 2948 2942 2943 2948 2947
11 | 6
12 | 670 667 669 671 670 670 668 671
13 | 7
14 | 8869 8869 8873 8875 8870 8872 8871 8873
15 | 8
16 | 1709 1707 1712 1712 1714 1710 1706 1712
17 | 9
18 | 10239 10248 10242 10240 10242 10242 10245 10235
19 | 10
20 | 6580 6579 6574 6580 6583 6580 6577 6581
21 |
--------------------------------------------------------------------------------
/src/Queue/swea1225/output.txt:
--------------------------------------------------------------------------------
1 | #1 6 2 2 9 4 1 3 0
2 | #2 9 7 9 5 4 3 8 0
3 | #3 8 7 1 6 4 3 5 0
4 | #4 7 5 8 4 8 1 3 0
5 | #5 3 8 7 4 4 7 4 0
6 | #6 6 7 5 9 6 8 5 0
7 | #7 7 6 8 3 2 5 6 0
8 | #8 9 2 1 7 3 6 3 0
9 | #9 4 7 8 1 2 8 4 0
10 | #10 6 8 9 5 8 5 2 0
11 |
--------------------------------------------------------------------------------
/src/Recursion/P17478/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17478] 재귀함수가 뭔가요?
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Recursion/P1914/input.txt:
--------------------------------------------------------------------------------
1 | 3
--------------------------------------------------------------------------------
/src/Series/NandM/input.txt:
--------------------------------------------------------------------------------
1 | 4 4
2 | 1 1 2 2
--------------------------------------------------------------------------------
/src/Series/수열과쿼리/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 5 1 2 3 4
3 | 3
4 | 2 4 1
5 | 6 6 6
6 | 1 5 2
--------------------------------------------------------------------------------
/src/Simulation/P10163/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10163] 색종이
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Simulation/P10163/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 0 2 10 10
3 | 7 9 8 4
4 | 8 4 10 6
5 | 6 0 12 10
--------------------------------------------------------------------------------
/src/Simulation/P1022/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1022] 소용돌이 예쁘게 출력하기
2 |
3 | 
4 | 
5 |
6 | ### 메모리 초과
7 |
8 | 정말 메모리 제한을 잘 확인해야 한다. 필요한 만큼 배열을 선언해서 푸는 문제가 아니라, 출력할 크기만큼만 배열을 선언해서 출력할 숫자만을 대입하는 문제이다.
9 | 메모리 제한을 잘 확인하고 문제를 풀자 !!
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/src/Simulation/P1022/input.txt:
--------------------------------------------------------------------------------
1 | -5 -4 2 0
--------------------------------------------------------------------------------
/src/Simulation/P12100/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-12100] 2048 (Easy)
2 |
3 | 
4 | 
5 | 
6 | 
7 |
8 | 그냥 풀면 된다.
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/src/Simulation/P1244/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1244] 스위치 켜고 끄기
2 |
3 | 
4 | 
5 |
--------------------------------------------------------------------------------
/src/Simulation/P1244/input.txt:
--------------------------------------------------------------------------------
1 | 8
2 | 0 1 0 1 0 0 0 1
3 | 2
4 | 1 3
5 | 2 3
6 |
7 | //output
8 | 1 0 0 0 1 1 0 1
--------------------------------------------------------------------------------
/src/Simulation/P13300/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-13300] 방 배정
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Simulation/P13300/input.txt:
--------------------------------------------------------------------------------
1 | 3 3
2 | 0 3
3 | 1 5
4 | 0 6
--------------------------------------------------------------------------------
/src/Simulation/P14499/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14499] 주사위 굴리기
2 |
3 | 
4 |
5 | ### 풀이 과정
6 |
7 | 처음에 너무 어렵게 생각했었는데, 그냥 숫자대로 주사위를 돌리면 된다.
8 |
9 | 
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/src/Simulation/P14499/input.txt:
--------------------------------------------------------------------------------
1 | 3 3 0 0 16
2 | 0 1 2
3 | 3 4 5
4 | 6 7 8
5 | 4 4 1 1 3 3 2 2 4 4 1 1 3 3 2 2
--------------------------------------------------------------------------------
/src/Simulation/P14503/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14503] 로봇 청소기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Simulation/P14503/input.txt:
--------------------------------------------------------------------------------
1 | 11 10
2 | 7 4 0
3 | 1 1 1 1 1 1 1 1 1 1
4 | 1 0 0 0 0 0 0 0 0 1
5 | 1 0 0 0 1 1 1 1 0 1
6 | 1 0 0 1 1 0 0 0 0 1
7 | 1 0 1 1 0 0 0 0 0 1
8 | 1 0 0 0 0 0 0 0 0 1
9 | 1 0 0 0 0 0 0 1 0 1
10 | 1 0 0 0 0 0 1 1 0 1
11 | 1 0 0 0 0 0 1 1 0 1
12 | 1 0 0 0 0 0 0 0 0 1
13 | 1 1 1 1 1 1 1 1 1 1
--------------------------------------------------------------------------------
/src/Simulation/P14891/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14891] 톱니바퀴
2 |
3 | 
4 | 
5 | 
6 |
--------------------------------------------------------------------------------
/src/Simulation/P14891/input.txt:
--------------------------------------------------------------------------------
1 | 10101111
2 | 01111101
3 | 11001110
4 | 00000010
5 | 2
6 | 3 -1
7 | 1 1
--------------------------------------------------------------------------------
/src/Simulation/P15662/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 10101111
3 | 01111101
4 | 11001110
5 | 00000010
6 | 2
7 | 3 -1
8 | 1 1
--------------------------------------------------------------------------------
/src/Simulation/P15683/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-15683] 감시
2 |
3 | 
4 | 
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Simulation/P15683/input.txt:
--------------------------------------------------------------------------------
1 | 3 7
2 | 4 0 0 0 0 0 0
3 | 0 0 0 2 0 0 0
4 | 0 0 0 0 0 0 4
--------------------------------------------------------------------------------
/src/Simulation/P15686/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-15686] 치킨 배달
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Simulation/P15686/input.txt:
--------------------------------------------------------------------------------
1 | 5 1
2 | 1 2 0 2 1
3 | 1 2 0 2 1
4 | 1 2 0 2 1
5 | 1 2 0 2 1
6 | 1 2 0 2 1
--------------------------------------------------------------------------------
/src/Simulation/P16927/input.txt:
--------------------------------------------------------------------------------
1 | 4 4 2
2 | 1 2 3 4
3 | 5 6 7 8
4 | 9 10 11 12
5 | 13 14 15 16
--------------------------------------------------------------------------------
/src/Simulation/P16935/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-16935] 배열 돌리기 3
2 |
3 | 
4 | 
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Simulation/P1713/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1713] 후보 추천하기
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Simulation/P1713/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 9
3 | 2 1 4 3 5 6 2 7 2
--------------------------------------------------------------------------------
/src/Simulation/P17135/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17135] 캐슬 디펜스
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Simulation/P17135/input.txt:
--------------------------------------------------------------------------------
1 | 6 5 2
2 | 1 0 1 0 1
3 | 0 1 0 1 0
4 | 1 1 0 0 0
5 | 0 0 0 1 1
6 | 1 1 0 1 1
7 | 0 0 1 0 0
--------------------------------------------------------------------------------
/src/Simulation/P17144/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17144] 미세먼지 안녕!
2 |
3 | 
4 | 
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Simulation/P17144/input.txt:
--------------------------------------------------------------------------------
1 | 7 8 50
2 | 0 0 0 0 0 0 0 9
3 | 0 0 0 0 3 0 0 8
4 | -1 0 5 0 0 0 22 0
5 | -1 8 0 0 0 0 0 0
6 | 0 0 0 0 0 10 43 0
7 | 0 0 5 0 15 0 0 0
8 | 0 0 40 0 0 0 20 0
--------------------------------------------------------------------------------
/src/Simulation/P17281/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17281] ⚾
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Simulation/P17281/input.txt:
--------------------------------------------------------------------------------
1 | 9
2 | 1 2 4 3 0 2 1 0 3
3 | 1 2 1 2 0 0 0 0 1
4 | 3 4 2 3 1 2 3 4 0
5 | 0 1 2 3 4 2 1 0 0
6 | 0 0 0 0 0 0 1 4 4
7 | 0 4 0 4 0 4 0 4 0
8 | 0 4 2 2 2 2 2 2 2
9 | 1 1 1 1 1 1 1 1 0
10 | 0 2 0 3 0 1 0 2 0
--------------------------------------------------------------------------------
/src/Simulation/P17406/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17406] 배열 돌리기 4
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Simulation/P17406/input.txt:
--------------------------------------------------------------------------------
1 | 5 6 2
2 | 1 2 3 2 5 6
3 | 3 8 7 2 1 3
4 | 8 2 3 1 4 5
5 | 3 4 5 1 1 1
6 | 9 3 2 1 4 3
7 | 3 4 2
8 | 4 2 1
--------------------------------------------------------------------------------
/src/Simulation/P17779/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17779] 게리맨더링 2
2 |
3 | 
4 | 
5 |
6 | 
7 |
8 | 별로 좋은 성능을 내지 못한 것 같지만, 오늘은 여기까지 하기로 했다.
9 |
--------------------------------------------------------------------------------
/src/Simulation/P17779/input.txt:
--------------------------------------------------------------------------------
1 | 8
2 | 1 2 3 4 5 6 7 8
3 | 2 3 4 5 6 7 8 9
4 | 3 4 5 6 7 8 9 1
5 | 4 5 6 7 8 9 1 2
6 | 5 6 7 8 9 1 2 3
7 | 6 7 8 9 1 2 3 4
8 | 7 8 9 1 2 3 4 5
9 | 8 9 1 2 3 4 5 6
--------------------------------------------------------------------------------
/src/Simulation/P19236/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-19236] 청소년 상어
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Simulation/P2174/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2174] 로봇 시뮬레이션
2 |
3 | 
4 | 
5 |
6 | ### 주의할 점
7 |
8 | (x, y) 좌표에 따라 동서남북으로 이동하는 방향이 이 문제에서는 일반적인 경우와 다르게 제시되었으므로 그 방향 처리에 유의해야 한다.
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/src/Simulation/P2174/input.txt:
--------------------------------------------------------------------------------
1 | 3 3
2 | 1 9
3 | 2 2 W
4 | 1 F 1
5 | 1 L 1
6 | 1 F 1
7 | 1 L 1
8 | 1 F 2
9 | 1 L 5
10 | 1 F 2
11 | 1 R 3
12 | 1 F 2
--------------------------------------------------------------------------------
/src/Simulation/P2477/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2477] 참외밭
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Simulation/P2477/input.txt:
--------------------------------------------------------------------------------
1 | 7
2 | 1 160
3 | 3 50
4 | 2 100
5 | 4 20
6 | 2 60
7 | 4 30
8 |
9 | 3 160
10 | 1 30
11 | 4 60
12 | 1 20
13 | 4 100
14 | 2 50
15 |
16 | 3 20
17 | 1 100
18 | 4 50
19 | 2 160
20 | 3 30
21 | 1 60
22 |
23 | 3 30
24 | 1 60
25 | 3 20
26 | 1 100
27 | 4 50
28 | 2 160
29 |
30 | 1 160
31 | 3 50
32 | 2 100
33 | 4 20
34 | 2 60
35 | 4 30
--------------------------------------------------------------------------------
/src/Simulation/P2563/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2563] 색종이
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Simulation/P2563/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 3 7
3 | 15 7
4 | 5 2
5 |
6 | // output
7 | 260
--------------------------------------------------------------------------------
/src/Simulation/P2564/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2564] 경비원
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Simulation/P2564/input.txt:
--------------------------------------------------------------------------------
1 | 10 5
2 | 3
3 | 1 4
4 | 3 2
5 | 2 8
6 | 2 3
--------------------------------------------------------------------------------
/src/Simulation/P2571/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2571] 색종이 - 3
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Simulation/P2571/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | 3 7
3 | 15 7
4 | 5 2
5 |
6 | 4
7 | 1 1
8 | 1 10
9 | 10 1
10 | 10 10
11 |
--------------------------------------------------------------------------------
/src/Simulation/P2636/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2636] 치즈
2 |
3 | 
4 | 
5 |
6 | ### 풀이 과정
7 |
8 | 어떻게 풀이해야 할지 몰라 한참을 생각했다. 그 이유는 초점을 치즈에 맞추고 있었기 때문이다. 풀이법이 생각나지 않는다면 초점을 바꿔서 생각해보자. 이 문제는 `뭉치를 둘러싸고 있는 것들`에 관심이 있기 때문에, 치즈가 아닌 `공기`에 초점을 맞춰 문제를 풀어나가야 한다. 공기의 입장에서 BFS를 수행하면 쉽게 풀어나갈 수 있다.
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/src/Simulation/P2636/input.txt:
--------------------------------------------------------------------------------
1 | 13 12
2 | 0 0 0 0 0 0 0 0 0 0 0 0
3 | 0 0 0 0 0 0 0 0 0 0 0 0
4 | 0 0 0 0 0 0 0 1 1 0 0 0
5 | 0 1 1 1 0 0 0 1 1 0 0 0
6 | 0 1 1 1 1 1 1 0 0 0 0 0
7 | 0 1 1 1 1 1 0 1 1 0 0 0
8 | 0 1 1 1 1 0 0 1 1 0 0 0
9 | 0 0 1 1 0 0 0 1 1 0 0 0
10 | 0 0 1 1 1 1 1 1 1 0 0 0
11 | 0 0 1 1 1 1 1 1 1 0 0 0
12 | 0 0 1 1 1 1 1 1 1 0 0 0
13 | 0 0 1 1 1 1 1 1 1 0 0 0
14 | 0 0 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/src/Simulation/P2931/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2931] 가스관
2 |
3 | 이런 문제가 쉽게 슥슥 풀리는 날이 올까... 다시는 풀고 싶지 않다...!!
4 |
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Simulation/P2931/input.txt:
--------------------------------------------------------------------------------
1 | 3 7
2 | .14....
3 | .M.Z...
4 | ..23...
5 | // 2 3 |
6 |
7 | 3 7
8 | .......
9 | .M-.-Z.
10 | .......
--------------------------------------------------------------------------------
/src/Simulation/P3954/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-3954] Brainf**k 인터프리터
2 |
3 | 
4 | 
5 |
6 | ### 문제 풀이 Point
7 |
8 | 풀면서 좀 너무한 것 같다 !! 라는 생각이 드는 문제였다. 휴... 😭😭😭
9 |
10 | - 문제의 핵심 : Loop에서 괄호 짝을 구하는 것, 이 과정에서 발생할 수 있는 다양한 테스트케이스들을 생각해봐야 한다.
11 | - 문제 속에 알고리즘에 대한 모든 힌트를 담고 있다.
12 | - 해당 프로그램이 무한 루프라고 판단되었을 때, 정확한 괄호의 짝을 찾아내는 과정에 대한 고찰이 필요하다.
13 |
14 | 
15 |
--------------------------------------------------------------------------------
/src/Simulation/jo1037/README.md:
--------------------------------------------------------------------------------
1 | ## [JUNGOL-1037] 오류교정
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Simulation/jo1037/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 1 0 1 0
3 | 0 0 1 0
4 | 1 1 1 1
5 | 0 1 0 1
--------------------------------------------------------------------------------
/src/Simulation/jo1205/README.md:
--------------------------------------------------------------------------------
1 | ## [JUNGOL-1205] 조커
2 |
3 | 
4 |
5 | ### 풀이과정
6 |
7 | 이 문제를 드디어 풀었다. 완전탐색이라고 해서 너무 어렵게만 생각했을 때 그 풀이를 너무 빙빙 돌아가는 것 같다. 좀 더 단순히, 단순히 생각하여 문제 있는 그대로 풀어내는 것이 중요한 것 같다.
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/Simulation/jo1205/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 100 100 100 99 97 103
3 | // 2
4 |
5 | 8
6 | 0 0 0 1 2 6 8 1000
7 | // 6
8 |
9 | 21
10 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 | // 21
12 |
13 | 7
14 | 0 6 5 10 3 0 11
15 | // 5
16 |
--------------------------------------------------------------------------------
/src/Simulation/swea1767/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1767] 프로세서 연결하기
2 |
3 | 
4 | 
5 | 
6 | 
7 |
8 | 
9 |
--------------------------------------------------------------------------------
/src/Simulation/swea1767/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 12
2 | #2 10
3 | #3 24
4 |
--------------------------------------------------------------------------------
/src/Simulation/swea1873/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1873] 상호의 배틀필드
2 |
3 | 
4 | 
5 | 
6 |
--------------------------------------------------------------------------------
/src/Simulation/swea2115/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 2115] 벌꿀채취
2 |
3 | 
4 | 
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Simulation/swea2115/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 174
2 | #2 131
3 | #3 145
4 | #4 155
5 | #5 166
6 | #6 239
7 | #7 166
8 | #8 172
9 | #9 291
10 | #10 464
11 |
--------------------------------------------------------------------------------
/src/Simulation/swea4014/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 7
2 | #2 4
3 | #3 11
4 | #4 11
5 | #5 15
6 | #6 4
7 | #7 4
8 | #8 1
9 | #9 5
10 | #10 8
11 |
--------------------------------------------------------------------------------
/src/Simulation/swea5656/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 5656] 벽돌 깨기
2 |
3 | 
4 | 
5 | 
6 | 
7 |
8 | 
9 |
10 | 오우 진짜 어렵다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
11 |
--------------------------------------------------------------------------------
/src/Simulation/swea5656/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 12
2 | #2 27
3 | #3 4
4 | #4 8
5 | #5 0
6 |
--------------------------------------------------------------------------------
/src/Simulation/swea9760/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 9760] Poker Game
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Simulation/swea9760/output.txt:
--------------------------------------------------------------------------------
1 | #1 Straight Flush
2 | #2 Four of a Kind
3 | #3 Flush
4 | #4 One pair
--------------------------------------------------------------------------------
/src/Sort/P10989/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10989] 수 정렬하기 3
2 |
3 | > **Counting Sort** | Time complexity : **O(N)**
4 |
5 | 
6 |
7 | 메모리 제한 조건 때문에 수의 개수(범위 : `1 ≤ N ≤ 10,000,000`)만큼 배열에 넣을 수 없어
8 | 수의 최대 크기 조건(`10,000보다 작거나 같은 자연수`)을 활용해 계수 정렬을 구현한다.
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/src/Sort/P11931/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11931] 수 정렬하기 4
2 |
3 | 
4 |
5 | 처음에 퀵소트로 풀어보려 했는데, 시간 제한과 숫자 범위를 생각했을 때 퀵소트의 Worst Case 시간복잡도가 O(N^2)이기 때문에
6 | 옳지 않다. 그래서 내림차순으로 merge sort를 구현해 풀었다.
7 |
8 | 
9 |
--------------------------------------------------------------------------------
/src/Sort/P15688/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-15688] 수 정렬하기 5
2 |
3 | 
4 |
5 | 아.. 진짜 이상한 문제다. Java 11 -> Java 8 로 바꾸어 채점하니까 맞았다. 아, 진짜 이상하다. 아...
6 |
7 | 
8 |
9 | 진짜 이거 안 풀면 오늘 안 잔다는 마음으로 풀었는데 허무해서 화가난다.
10 |
--------------------------------------------------------------------------------
/src/Sort/P2750/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2750] 수 정렬하기
2 |
3 | > **Selection Sort** | Time complexity : **O(N^2)**
4 |
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Sort/P2751/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2751] 수 정렬하기 2
2 |
3 | > **Merge Sort** | Time complexity : **O(NlogN)**
4 |
5 | 
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/Sort/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | -3
3 | -4
4 | -10000
5 | 2
6 | 1
--------------------------------------------------------------------------------
/src/Sort/prg42747/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 정렬] H-Index
2 |
3 | 
4 |
5 | 이분 탐색 upper-bound를 이용해 풀었다.
6 |
--------------------------------------------------------------------------------
/src/Sort/prg42748/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 정렬] K번째수
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Stack/P10799/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10799] 쇠막대기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Stack/P10799/input.txt:
--------------------------------------------------------------------------------
1 | (((()(()()))(())()))(()())
--------------------------------------------------------------------------------
/src/Stack/P10828/input.txt:
--------------------------------------------------------------------------------
1 | 14
2 | push 1
3 | push 2
4 | top
5 | size
6 | empty
7 | pop
8 | pop
9 | pop
10 | size
11 | empty
12 | pop
13 | push 3
14 | empty
15 | top
--------------------------------------------------------------------------------
/src/Stack/P17298/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17298] 오큰수
2 |
3 | 
4 |
5 | ### 시간초과 이슈
6 |
7 | 앞으로 이 정도의 큰 범위는 `StringBuilder`를 사용해 출력하는 것으로 약속 !!!
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/Stack/P17298/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 9 5 4 8
--------------------------------------------------------------------------------
/src/Stack/P1863/input.txt:
--------------------------------------------------------------------------------
1 | 10
2 | 1 1
3 | 2 2
4 | 5 1
5 | 6 3
6 | 8 1
7 | 11 0
8 | 15 2
9 | 17 3
10 | 20 2
11 | 22 1
--------------------------------------------------------------------------------
/src/Stack/P1918/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1918] 후위 표기식
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Stack/P1918/input.txt:
--------------------------------------------------------------------------------
1 | A+B*(C-(D+E))/F
--------------------------------------------------------------------------------
/src/Stack/P2493/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2493] 탑
2 |
3 | 
4 |
5 | ### 2021.02.04 - 두번째 풀이
6 |
7 | - [Main2.java](Main2.java)
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/Stack/P2493/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 6 9 5 7 4
--------------------------------------------------------------------------------
/src/Stack/P2504/input.txt:
--------------------------------------------------------------------------------
1 | ()[[]
--------------------------------------------------------------------------------
/src/Stack/P2800/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2800] 괄호 제거
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Stack/P2800/input.txt:
--------------------------------------------------------------------------------
1 | (0/(0))
--------------------------------------------------------------------------------
/src/Stack/P2867/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2867] 수열의 값
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Stack/P2867/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | 3
3 | 1
4 | 7
5 | 2
--------------------------------------------------------------------------------
/src/Stack/P3425/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-3425] 고스택
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Stack/prg42584/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 스택/큐] 주식가격
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Stack/swea1218/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1218] 괄호 짝짓기
2 |
3 | 
4 | 
5 | 
6 |
--------------------------------------------------------------------------------
/src/Stack/swea1218/output.txt:
--------------------------------------------------------------------------------
1 | #1 1
2 | #2 0
3 | #3 1
4 | #4 1
5 | #5 1
6 | #6 0
7 | #7 0
8 | #8 1
9 | #9 0
10 | #10 1
11 |
--------------------------------------------------------------------------------
/src/Stack/swea1223/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1223] 계산기2
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Stack/swea1223/output.txt:
--------------------------------------------------------------------------------
1 | #1 28134
2 | #2 195767
3 | #3 4293
4 | #4 1592
5 | #5 477326
6 | #6 45647
7 | #7 102951
8 | #8 6548
9 | #9 1394
10 | #10 4285
11 |
--------------------------------------------------------------------------------
/src/String/P10256/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-10256] 돌연변이
2 |
3 | 
4 | 
5 |
6 | [문자열 집합 판별](../P9250) 문제에 이어서 아호-코라식을 연습할 수 있는 문제이다 !!
7 | 트라이처럼 연습하다보면 늘겠지 !!! 재밌다 ㅎㅎ
8 |
9 | 
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/src/String/P10256/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 6 4
3 | ATGGAT
4 | AGGT
5 | 6 4
6 | ATGGAT
7 | AGCT
--------------------------------------------------------------------------------
/src/String/P1213/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1213] 팰린드롬 만들기
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/String/P1213/input.txt:
--------------------------------------------------------------------------------
1 | ABACABA
--------------------------------------------------------------------------------
/src/String/P1305/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | aaaaa
3 | output 1
4 |
5 | 11
6 | aabaaabaaab
7 | output 4
8 |
9 | 6
10 | aabaaa
11 | output 4
--------------------------------------------------------------------------------
/src/String/P13505/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-13505] 두 수 XOR
2 |
3 | 
4 |
5 | ### 풀이 과정
6 |
7 | XOR 연산은 0과 1, 1과 0처럼 두 수가 다를 때 1을 반환한다. 이러한 특성을 생각해봤을 때
8 | 주어진 수에 대해 XOR한 값이 최대가 되려면 각 자리의 수가 서로 최대한 달라야 한다.
9 | 이를 효율적으로 해결하기 위해서는 트라이를 이용할 수 있다. 각 수를 이진수로 바꿔 트라이에 넣고,
10 | XOR한 값이 최대가 될 수 있는 수를 찾아나가는 것이다.
11 |
12 | 이진수와 XOR연산 문제인데, 트라이를 써서 풀 수 있는 신기하고 재밌는 문제였다 !!
13 |
14 | 
15 |
--------------------------------------------------------------------------------
/src/String/P13505/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 1 2 4 8 16 32
3 |
4 | 5
5 | 0 1 0 1 0
6 |
7 | 5
8 | 1 2 3 4 5
9 |
--------------------------------------------------------------------------------
/src/String/P14425/input.txt:
--------------------------------------------------------------------------------
1 | 5 11
2 | baekjoononlinejudge
3 | startlink
4 | codeplus
5 | sundaycoding
6 | codingsh
7 | baekjoon
8 | codeplus
9 | codeminus
10 | startlink
11 | starlink
12 | sundaycoding
13 | codingsh
14 | codinghs
15 | sondaycoding
16 | startrink
17 | icerink
--------------------------------------------------------------------------------
/src/String/P14426/input.txt:
--------------------------------------------------------------------------------
1 | 5 10
2 | baekjoononlinejudge
3 | startlink
4 | codeplus
5 | sundaycoding
6 | codingsh
7 | baekjoon
8 | star
9 | start
10 | code
11 | sunday
12 | coding
13 | cod
14 | online
15 | judge
16 | plus
17 |
18 | output 7
19 | baekjoon
20 | star
21 | start
22 | code
23 | sunday
24 | coding
25 | cod
--------------------------------------------------------------------------------
/src/String/P15740/input.txt:
--------------------------------------------------------------------------------
1 | 123456789123456789123456789 -987654321987654321987654321
2 |
3 |
4 | 50430451
5 | 12345456
6 |
7 | -60 60
8 |
9 | 120
10 | 060
11 |
12 | 1000000000
13 | 0999999999
14 |
15 | 987654321987654321987654321
16 | 123456789123456789123456789
--------------------------------------------------------------------------------
/src/String/P17413/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-17413] 단어 뒤집기 2
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/String/P17413/input.txt:
--------------------------------------------------------------------------------
1 | noojkeab enilno egduj
--------------------------------------------------------------------------------
/src/String/P1786/input.txt:
--------------------------------------------------------------------------------
1 | ABC ABCDAB ABCDABCDABDEABCDABD
2 | ABCDABD
3 |
4 | ABABABABBABABABABC
5 | ABABABC
6 |
7 | ABC ABCDAB ABCDABCDABDEABCDABD
8 | ABCDABD
9 |
10 | ABCDABCDABDE
11 | ABCDAB
12 |
13 | ABABABABBABABABABC
14 | 012345678901234567
15 | ABABABABC
16 | 012345678
17 |
18 | ABCDABCDABDE
19 | ABCDAB
20 |
21 |
--------------------------------------------------------------------------------
/src/String/P5052/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-5052] 전화번호 목록
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/String/P5052/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 3
3 | 911
4 | 97625999
5 | 91125426
6 | 5
7 | 113
8 | 12340
9 | 123440
10 | 12345
11 | 98346
--------------------------------------------------------------------------------
/src/String/P6503/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-6503] 망가진 키보드
2 |
3 | 
4 |
5 | ### 풀이 과정
6 |
7 | 서로 다른 문자의 개수를 구하는 과정에서 처음에 해시맵을 사용했는데, 실행 시간이 너무 높게 나와서 알고 보니 `m` 범위를 `128`까지 준 이유가 있었다. 아스키코드가 `0~127` 범위라는 것. 그래서 `128` 사이즈의 배열을 선언해서 카운트하는 식으로 바꿔줬더니 실행 시간이 개선되었다.
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/String/P6503/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | This can't be solved by brute force.
3 | 1
4 | Mississippi
5 | 0
--------------------------------------------------------------------------------
/src/String/P9093/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-9093] 단어 뒤집기
2 |
3 | 
4 |
5 | ### 문자열 뒤집는 방법 - Java
6 |
7 | ```java
8 | StringBuffer buffer = new StringBuffer();
9 | String s = "Hello";
10 | buffer.append(s).reverse();
11 | System.out.println(buffer.toString()); // olleH
12 | ```
13 |
--------------------------------------------------------------------------------
/src/String/P9093/input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | I am happy today
3 | We want to win the first prize
--------------------------------------------------------------------------------
/src/String/P9250/input.txt:
--------------------------------------------------------------------------------
1 | 3
2 | he
3 | his
4 | shes
5 | 1
6 | she
7 |
8 | 3
9 | he
10 | his
11 | she
12 | 1
13 | shis
--------------------------------------------------------------------------------
/src/String/P9252/input.txt:
--------------------------------------------------------------------------------
1 | ACAYKP
2 | CAPCAK
--------------------------------------------------------------------------------
/src/String/P9342/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-9342] 염색체
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/String/P9342/input.txt:
--------------------------------------------------------------------------------
1 | 15
2 | AFC
3 | AAFC
4 | AAAFFCC
5 | AAFCC
6 | BAFC
7 | QWEDFGHJMNB
8 | DFAFCB
9 | ABCDEFC
10 | DADC
11 | SDFGHJKLQWERTYU
12 | AAAAAAAAAAAAABBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCDDDDDDDDDDDEEEEEEEEEEEEEEEFFFFFFFFC
13 | AAAFFFFFBBBBCCCAAAFFFF
14 | ABCDEFAAAFFFCCCABCDEF
15 | AFCP
16 | AAFFCPP
--------------------------------------------------------------------------------
/src/TimeComplexity/FrogJmp/Main.java:
--------------------------------------------------------------------------------
1 | package TimeComplexity.FrogJmp;
2 |
3 | public class Main {
4 | public static void main(String[] args) {
5 | Solution sol = new Solution();
6 | System.out.println(sol.solution(10, 10, 30));
7 | System.out.println(sol.solution(10, 85, 30));
8 | }
9 | }
10 |
11 | class Solution {
12 | public int solution(int X, int Y, int D) {
13 | Y -= X;
14 | return (int) Math.ceil((double) Y / (double) D);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/TimeComplexity/FrogJmp/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 3 Time Complexity] FrogJmp
2 |
3 | > Detected time complexity : **O(1)**
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P12015/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-12015] 가장 긴 증가하는 부분 수열 2
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P12015/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 10 20 10 30 20 50
3 |
4 | 6
5 | 10 5 10 20 30 50
6 |
7 | 10
8 | 1 100 2 50 60 3 5 6 7 8
9 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P12738/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-12738] 가장 긴 증가하는 부분 수열 3
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P12738/input.txt:
--------------------------------------------------------------------------------
1 | 8
2 | -10 -20 -10 30 20 25 50 60
--------------------------------------------------------------------------------
/src/TimeComplexity/P14003/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-14003] 가장 긴 증가하는 부분 수열 5
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P14003/input.txt:
--------------------------------------------------------------------------------
1 | 6
2 | 10 20 10 30 20 50
3 |
4 | 8
5 | 3 2 5 2 3 1 4 1
6 |
7 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P15961/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-15961] 회전 초밥
2 |
3 | 
4 | 
5 |
6 | ### HashMap vs Array
7 |
8 | 처음에 선택한 초밥에 대한 정보를 HashMap에 저장해가면서 풀었는데, 이보다 `d`의 크기만큼 Array를 선언하여
9 | 구현하는 것이 메모리/시간복잡도 측면에서 훨씬 좋다.
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P15961/input.txt:
--------------------------------------------------------------------------------
1 | 2 2 2 2
2 | 1
3 | 1
4 |
5 | 8 30 4 30
6 | 7
7 | 9
8 | 7
9 | 30
10 | 2
11 | 7
12 | 9
13 | 25
14 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P16566/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-16566] 카드 게임
2 |
3 | 
4 |
5 | ### Array vs ArrayList
6 |
7 | ArrayList에서 remove하는 식으로 구현한다면 생각해보라. remove하는데 비용이 얼마나 들지. 당연히 시간초과가 났고 visited 배열을 선언해 구현하는 식으로 바꾸니 성공할 수 있었다.
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P16566/input.txt:
--------------------------------------------------------------------------------
1 | 10 7 5
2 | 2 5 3 7 8 4 9
3 | 4 1 1 3 8
--------------------------------------------------------------------------------
/src/TimeComplexity/P1806/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1806] 부분합
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/TimeComplexity/P1806/input.txt:
--------------------------------------------------------------------------------
1 | 10 15
2 | 5 1 3 5 10 7 4 9 2 8
--------------------------------------------------------------------------------
/src/TimeComplexity/P2003/input.txt:
--------------------------------------------------------------------------------
1 | 10 5
2 | 1 2 3 4 2 5 3 1 1 2
--------------------------------------------------------------------------------
/src/TimeComplexity/P2143/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 4
3 | 1 3 1 2
4 | 3
5 | 1 3 2
--------------------------------------------------------------------------------
/src/TimeComplexity/P2805/input.txt:
--------------------------------------------------------------------------------
1 | 4 7
2 | 20 15 10 17
--------------------------------------------------------------------------------
/src/TimeComplexity/PermMissingElem/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 3 Time Complexity] PermMissingElem
2 |
3 | > Detected time complexity : **O(N) or O(N * log(N))**
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/TimeComplexity/TapeEquilibrium/README.md:
--------------------------------------------------------------------------------
1 | ## [Codility - Lesson 3 Time Complexity] TapeEquilibrium
2 |
3 | > Detected time complexity : **O(N)**
4 |
5 | 
6 | 
7 |
--------------------------------------------------------------------------------
/src/TimeComplexity/prg43238/README.md:
--------------------------------------------------------------------------------
1 | ## [programmers - 이분탐색] 입국심사
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/TimeComplexity/swea3307/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 3307] 최장 증가 부분 수열
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/TimeComplexity/swea3307/sample_input.txt:
--------------------------------------------------------------------------------
1 | 2
2 | 5
3 | 1 3 2 5 4
4 | 6
5 | 4 2 3 1 5 6
6 |
--------------------------------------------------------------------------------
/src/TimeComplexity/swea3307/sample_output.txt:
--------------------------------------------------------------------------------
1 | #1 3
2 | #2 4
3 |
--------------------------------------------------------------------------------
/src/Tree/P1068/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1068] 트리
2 |
3 | 
4 | 
5 |
6 | 
7 |
--------------------------------------------------------------------------------
/src/Tree/P1068/input.txt:
--------------------------------------------------------------------------------
1 | 9
2 | -1 0 0 2 2 4 4 6 6
3 | 4
--------------------------------------------------------------------------------
/src/Tree/P1167/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | 5 4 6 -1
3 | 4 2 4 3 3 5 6 -1
4 | 3 1 2 4 3 -1
5 | 2 4 4 -1
6 | 1 3 2 -1
--------------------------------------------------------------------------------
/src/Tree/P11725/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-11725] 트리의 부모 찾기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Tree/P11725/input.txt:
--------------------------------------------------------------------------------
1 | 7
2 | 1 6
3 | 6 3
4 | 3 5
5 | 4 1
6 | 2 4
7 | 4 7
--------------------------------------------------------------------------------
/src/Tree/P1991/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-1991] 트리 순회
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Tree/P1991/input.txt:
--------------------------------------------------------------------------------
1 | 7
2 | A B C
3 | B D .
4 | C E F
5 | E . .
6 | F . G
7 | D . .
8 | G . .
--------------------------------------------------------------------------------
/src/Tree/P2263/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-2263] 트리의 순회
2 |
3 | 
4 |
5 | ### 풀이 과정
6 |
7 | - postorder의 가장 오른쪽은 부모 노드
8 | - inorder는 부모 노드를 중간에 두고 좌, 우로 자식 노드를 가짐
9 |
10 | 
11 |
12 | 
13 |
--------------------------------------------------------------------------------
/src/Tree/P2263/input.txt:
--------------------------------------------------------------------------------
1 | 7
2 | 4 2 1 5 3 6 7
3 | 4 2 5 7 6 3 1
4 | //1243567
5 |
6 | 7
7 | 6 2 5 3 1 4 7
8 | 6 5 2 1 7 4 3
9 | //3265417
10 |
11 | 3
12 | 1 2 3
13 | 1 3 2
--------------------------------------------------------------------------------
/src/Tree/swea1233/README.md:
--------------------------------------------------------------------------------
1 | ## [SW Expert Academy - 1233] 사칙연산 유효성 검사
2 |
3 | 
4 | 
5 | 
6 | 
7 |
8 | 
9 |
--------------------------------------------------------------------------------
/src/Tree/swea1233/output.txt:
--------------------------------------------------------------------------------
1 | #1 0
2 | #2 0
3 | #3 0
4 | #4 1
5 | #5 0
6 | #6 1
7 | #7 1
8 | #8 0
9 | #9 0
10 | #10 0
11 |
--------------------------------------------------------------------------------
/src/Trie/P5670/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-5670] 휴대폰 자판
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/Trie/P5670/input.txt:
--------------------------------------------------------------------------------
1 | 4
2 | hello
3 | hell
4 | heaven
5 | goodbye
6 | 3
7 | hi
8 | he
9 | h
10 | 7
11 | structure
12 | structures
13 | ride
14 | riders
15 | stress
16 | solstice
17 | ridiculous
--------------------------------------------------------------------------------
/src/Trie/P9202/README.md:
--------------------------------------------------------------------------------
1 | ## [baekjoon-9202] Boggle
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/Trie/P9202/input.txt:
--------------------------------------------------------------------------------
1 | 5
2 | ICPC
3 | ACM
4 | CONTEST
5 | GCPC
6 | PROGRAMM
7 |
8 | 3
9 | ACMA
10 | APCA
11 | TOGI
12 | NEST
13 |
14 | PCMM
15 | RXAI
16 | ORCN
17 | GPCG
18 |
19 | ICPC
20 | GCPC
21 | ICPC
22 | GCPC
--------------------------------------------------------------------------------
/src/_2019_KAKAO_BLIND_RECRUITMENT/P1/README.md:
--------------------------------------------------------------------------------
1 | ## [2019 KAKAO BLIND RECRUITMENT - 1] 오픈채팅방
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/_2019_KAKAO_BLIND_RECRUITMENT/P2/README.md:
--------------------------------------------------------------------------------
1 | ## [2019 KAKAO BLIND RECRUITMENT - 2] 실패율
2 |
3 | ### 처음에 틀렸던 이유
4 |
5 | 나눗셈을 해줄 때 0인 경우를 처리해주어야 한다. 0으로 나누면 NaN 값이 들어가더라.
6 | **나눗셈이 들어가는 문제일 때는 늘 생각해주기 !!!**
7 |
8 | 
9 |
--------------------------------------------------------------------------------
/src/_2019_KAKAO_BLIND_RECRUITMENT/P6/README.md:
--------------------------------------------------------------------------------
1 | ## [2019 KAKAO BLIND RECRUITMENT - 6] 매칭 점수
2 |
3 | 
4 |
5 | 죽는 줄
6 |
--------------------------------------------------------------------------------
/src/_2020_KAKAO_BLIND_RECRUITMENT/P1/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 KAKAO BLIND RECRUITMENT - 1] 문자열 압축
2 |
3 | 
4 |
5 | ### 2021.01.03 - using JavaScript
6 |
7 | - [210103.js](210103.js)
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/_2020_KAKAO_BLIND_RECRUITMENT/P2/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 KAKAO BLIND RECRUITMENT - 2] 괄호 변환
2 |
3 | 
4 |
5 | ### 2021.01.09 - using JavaScript
6 |
7 | - [210109.js](210109.js)
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/src/_2020_KAKAO_BLIND_RECRUITMENT/P3/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 KAKAO BLIND RECRUITMENT - 3] 자물쇠와 열쇠
2 |
3 | 
4 |
5 | 
--------------------------------------------------------------------------------
/src/_2020_KAKAO_BLIND_RECRUITMENT/P4/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 KAKAO BLIND RECRUITMENT - 4] 가사 검색
2 |
3 | 
4 |
5 | 
--------------------------------------------------------------------------------
/src/_2020_KAKAO_BLIND_RECRUITMENT/P5/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 KAKAO BLIND RECRUITMENT - 5] 기둥과 보 설치
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/_2020_KAKAO_BLIND_RECRUITMENT/P6/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 KAKAO BLIND RECRUITMENT - 6] 외벽 점검
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/_2020_KAKAO_BLIND_RECRUITMENT/P7/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 KAKAO BLIND RECRUITMENT - 7] 블록 이동하기
2 |
3 | 
4 |
5 | 진짜... 정말... 진짜로... 정말 몇 번을 제출했는지 모르겠다... 이런 문제는 진짜... 실제로 나와도 못 풀거야.... 어후 ...
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/src/_2020_카카오_인턴십/P1/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 카카오 인턴십] 키패드 누르기
2 |
3 | 
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/src/_2020_카카오_인턴십/P2/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 카카오 인턴십] 수식 최대화
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/_2020_카카오_인턴십/P3/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 카카오 인턴십] 보석 쇼핑
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/_2020_카카오_인턴십/P4/README.md:
--------------------------------------------------------------------------------
1 | ## [2020 카카오 인턴십] 경주로 건설
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/src/_2021_KAKAO_BLIND_RECRUITMENT/P1/README.md:
--------------------------------------------------------------------------------
1 | ## [2021 KAKAO BLIND RECRUITMENT - 1] 신규 아이디 추천
2 |
3 | 
4 |
5 | 카카오엔 이런 문제가 한 문제씩 나오는 것 같다. 주어진 알고리즘을 **있는 그대로** 푸는 것이 중요하다.
6 |
--------------------------------------------------------------------------------
/src/_2021_KAKAO_BLIND_RECRUITMENT/P2/README.md:
--------------------------------------------------------------------------------
1 | ## [2021 KAKAO BLIND RECRUITMENT - 2] 메뉴 리뉴얼
2 |
3 | 
4 |
5 | 디테일함을 요구하는 완전탐색, 그 중에서도 조합 문제이다. 중복 데이터를 걸러주는 것, "WX"와 "XW"는 같다는 점을 주의하기 위해 정렬을 해주는 등 디테일함이 있어야 풀 수 있는 문제였다.
6 |
--------------------------------------------------------------------------------
/src/_2021_KAKAO_BLIND_RECRUITMENT/P3/README.md:
--------------------------------------------------------------------------------
1 | ## [2021 KAKAO BLIND RECRUITMENT - 3] 순위 검색
2 |
3 | 
4 |
5 | 언뜻 보기에 쉬워보이는 문제이지만 효율성 점수가 있기에 다른 방법의 접근이 필요하다. 쿼리를 수행할 때마다 데이터를 일일이 돌지 않고, 필요한 데이터에 바로 접근할 수 있어야 효율성을 높일 수 있다. 그러기 위해 key 값을 만들어 활용, 이분 탐색 등의 개념이 들어간 문제였다.
6 |
--------------------------------------------------------------------------------
/src/_2021_KAKAO_BLIND_RECRUITMENT/P4/README.md:
--------------------------------------------------------------------------------
1 | ## [2021 KAKAO BLIND RECRUITMENT - 4] 합승 택시 요금
2 |
3 | 
4 |
5 | 문제를 읽어보면 최단 경로 문제이며, 경유지 K를 탐색하며 n의 크기가 작으므로 플로이드-워셜 알고리즘 문제임을 알 수 있다.
6 |
--------------------------------------------------------------------------------