μ΄λ² μ£Όμλ κΈ°μ μ μΈ λΆλΆμ λν΄μ μ‘°κΈ λ§μ 보μμ΅λλ€. λ°λΌμ μ΄κ²μ νμ©νκ³ μ΅νλ κ³Όμ μ΄ νμνλ€κ³ μκ°ν©λλ€. μ΄λ² μ£Όμ κ³Όμ λ μ§κΈκΉμ§ λ°°μ΄ κ²λ€κ³Ό λ°°μ°μ§ μμ κ²λ€μ μ μ ν νμ©νμ¬ μ΅λν λ§μ λ¬Έμ λ₯Ό νμ΄λ³΄λ©΄ λ©λλ€.
100κ°μ μ«μ(0 < n < 10)λ₯Ό λ°μμ μ λ ¬νλ νλ‘κ·Έλ¨μ λ§λ€λ©΄ λ©λλ€. κ°κ° μ€λ¦ μ°¨μ, λ΄λ¦Ό μ°¨μμΌλ‘ μ λ ¬ν κ²°κ³Όλ₯Ό νμν΄μΌ νλ©° κ°μ₯ λ§μ μ«μλ 무μμ΄κ³ λͺ κ°κ° μλμ§λ μΆλ ₯ν΄ λ³΄λ©΄ λ©λλ€.
νμ λΆλ₯Ό κ΄λ¦¬νλ νλ‘κ·Έλ¨μ λ§λλλ€. μλμ λͺ μΈλ₯Ό λ°λ₯΄λ©΄ λ©λλ€.
- νμμ μ΄λ¦, λ²νΈ, μ 곡μ κ°μ΅λλ€.
- νμμ μΆκ°/μμ ν μ μμ΄μΌ νλ€.
- νμ μ 보λ₯Ό μ΄λν μ μμ΄μΌ νλ€.
- μ 체λ₯Ό μ΄λν λλ λ²νΈ(μ€λ¦μ°¨μ)λ‘ μ λ ¬νλ€
- μ 곡λ³λ‘ μ λ ¬ ν μ λ μλ€. (μ κ³΅μ΄ κ°λ€λ©΄ λ²νΈ(μ€λ¦μ°¨μ)μΌλ‘ μ λ ¬)
- μ΄λ¦μ μ
λ ₯ν΄ ν΄λΉ νμμ λ°λ‘ νμν μ μμ΄μΌ νλ€.
- μ΄λ κ² νμλ μνμμ μμ κ° κ°λ₯ν΄μΌ νλ€.
ꡬμ¬μΉκΈ° μ νΈλ₯Ό λ§λλλ€. μλμ λͺ μΈλ₯Ό λ°λ₯΄λ©΄ λ©λλ€.
- ꡬμ¬μ μμΉ μ’ν(x, y)μ μμ(λΉ¨, μ£Ό, λ Έ, μ΄)μ κ°μ΅λλ€.
- λ§€ λ°λ³΅λ§λ€ ꡬμ¬μ μμΉλ νμ¬ μμΉμμ μ, μλ, μ’, μ° λ‘ μμ§μΌ μ μμ΅λλ€.
(0 < x,y < 100) - λ§μ½ λ€λ₯Έ μμμ ꡬμ¬μ΄ μλ‘ κ°μ μμΉμ μκ² λλ€λ©΄ 'μΆ©λ!'μ΄λΌκ³ λ©μΈμ§λ₯Ό λ¨κΈ°κ³ μλ©Έν©λλ€.
- λ§μ½ κ°μ μμμ ꡬμ¬μ΄ μλ‘ κ°μ μμΉμ μλ€λ©΄ νλλ‘ ν©μ³μ§λλ€.
1000κ°μ μ«μ(1000 <= n <= 9999)λ₯Ό λ°μμ 100μ μλ¦¬κ° κ°μ μ«μλΌλ¦¬ λ¬Άλ νλ‘κ·Έλ¨μ λ§λλλ€. μλμ νλμ ν μ μμ΄μΌ ν©λλ€.
- λ¬Έμ(a, b, c, d)λ₯Ό μ
λ ₯λ°μ΅λλ€.
- aκ° μ λ ₯λμλ€λ©΄ μ«μ(0 <= x <= 9)λ₯Ό μΆκ°λ‘ μ λ ₯ λ°μ λ°±μ μ리 μ«μκ° xμΈ μ«μλ€μ μ λΆ μΆλ ₯ν©λλ€.
- bκ° μ λ ₯λμλ€λ©΄ μ«μ(0 <= x, y <= 9)λ₯Ό μ λ ₯ λ°μ λ°±μ μ리 μ«μκ° xμΈ μ«μλ€μ λ°±μ μ리λ₯Ό μ λΆ yλ‘ λ°κΏλλ€.
- cκ° μ λ ₯λμλ€λ©΄ μ«μ(0 <= x, y <= 9)λ₯Ό μ λ ₯ λ°μ λ°±μ μ리 μ«μκ° xμΈ μ«μλ€μ λ°±μ μ리λ₯Ό yλ‘ λ°±μ μ리 μ«μκ° yμΈ μ«μλ€μ λ°±μ μ리λ₯Ό xλ‘ λ°κΏλλ€.
- dκ° μ λ ₯λμλ€λ©΄ μ«μ(0 <= x <= 9)λ₯Ό μ λ ₯ λ°μ λ°±μ μ리 μ«μκ° xμΈ μ«μλ€μ λͺ¨λ μμ ν©λλ€.
for_eachμ for(:), for(;;)μ μ°¨μ΄μ μ λν΄μ λ§ν΄λ΄ μλ€.
μλμ λμλ§μ μ΄λ €μ΄, μ€κ°, μ¬μ΄μΌλ‘ ꡬλ³λμ΄ μμ΅λλ€. νλ μ© λ³΄λ©΄μ λ΄κ° μ¬κΈ°κΉμ§ 보면 λ§λ€ μ μκ² λ€ μΆμ κ³³μμ λ©μΆ°μ μ½λλ₯Ό μμ±νλ©΄ λ©λλ€.
μ΄λ €μ΄ λμλ§μ MSDNμ λ¬Όμ΄λ³΄λΌκ³ μλ €μ€λλ€.
MSDN(Microsoft Developer Network)μ κ°λ°μμκ² κ°λμ ꡬκΈλ³΄λ€ λ λμμ΄ λλ μλ£λ€μ΄ λͺ¨μ¬μμ΅λλ€. ꡬκΈμ΄ 그리 μ λͺ νμ§ μμκ³ stackoverflowκ° μμλ μμ μλ MSDNμμ μ°ΎμΌλ©΄ λ€ λμμμ£ .
κ°κ° μ λΉν μλ£κ΅¬μ‘°μ μκ³ λ¦¬μ¦μ μ νμ©ν΄μΌ ν©λλ€. 2, 3, 4 λ²μ κ³Όμ λ νμ€ μ μΆλ ₯(cin, cout)μ μ μ¬μ©ν΄ λΆκΈ°μ λ§λ λ³μλ₯Ό μ λ ₯λ°μμ μ²λ¦¬νλ λ₯λ ₯μ΄ μꡬλ©λλ€.
- 1λ² κ³Όμ λ sortλ₯Ό μ μ¬μ© ν΄λ΄ μλ€.
- 2λ² κ³Όμ λ Studentν΄λμ€λ₯Ό μ μ€κ³νκ³ sortλ₯Ό μ¬μ©ν΄ μ΄λ»κ² μ λ ¬ν κ²μΈμ§ μμμΌ ν©λλ€.
- 3λ² κ³Όμ λ λ§€ λ°λ³΅μ
while(true)μ κ°μ 무ν루νλ‘ μ²λ¦¬νκ³ μΆ©λμ μ΄λ‘κ² μ²λ¦¬ν κ²μΈμ§ νλ¨ν΄μΌ ν©λλ€. - 4λ² κ³Όμ λ 100μ μ리λ₯Ό μ΄λ‘κ² νλ¨ν κ²μΈμ§, μ΄λ‘κ² λ¬Άμ΄μ κ΄λ¦¬ν κ²μΈμ§ μμμΌ ν©λλ€.
- 5λ² κ³Όμ λ κ²μμ μ ν΄λ³΄μκΈΈ λ°λλλ€.
μ λ κ°μ μ μΈ μμ μ μΆκ³Ό κ²μ¬λ₯Ό λ§€μ° μ«μ΄νμ§λ§, μμ λ₯Ό λ€ μ μΆνλ©΄ μ’μ μΌμ΄ μλ€κ³ νλ λΆλμ΄νκ² μμ λ₯Ό κ²μ¬νκ² λμμ΅λλ€. μμ λ 곡μ λ gdriveμ λμ§Έ μ£Ό ν΄λμ μκΈ°μ΄λ¦.cppνμΌμ μ μΆνλ©΄ λ©λλ€.
μμ λ μΈμ λ κ·Έλ λ― κ°μ λμ§ μμ΅λλ€ λ§, μ¬λ¬λΆμ μ€λ ₯μ ν₯μ μν€λ μ’μ κΈ°νκ° λ κ² μ
λλ€.
## μκ°μ΄ λ§μ΄ λ¨μλ€λ©΄ λ°©νμ μ’μ μ μ μκ°μ΄ λ§λ€λ κ²λλ€. μ§λ£¨ν μμ μ΄λ λ±,νκ΅λ‘ μκ°μ λΉΌμκΈ°μ§λ μμΌλ λ§μ΄μ£ . κ³Όμ λ₯Ό ν루λ μλμ λλ΄κ³ ν μΌμ΄ μμ΄μ μ μ¬μ¬νλ€λ©΄ μλμ λͺ κ°μ§λ₯Ό μΆκ°λ‘ ν΄λ³΄μλ μ’μμ.
μΌμΌ μμ λ₯Ό νλμ© ν΄λ³΄λ©΄ μ€λ ₯μ΄ λΉ λ₯΄κ² μ±μ₯ν μ μμ΄μ.
STLμ μμ²λκ² λ§μ μ μ©ν κ²λ€μ μ κ³΅ν΄ μ£Όκ³ μμ΅λλ€. STLμ μ‘΄μ¬νλ λ§μ ν¨μλ€μ λ€ λ°°μλ³΄κ³ μ¬μ©ν νμλ μμ΄μ. λ€λ§ μ°λ¦¬κ° μ’ λ νΈνκ² μ½λ©μ νκΈ° μν΄μ μ°λ¦¬μ μκ°λ½μ μ’ λ νΈνκ² ν΄μ€ μ μλ λͺλͺ ν¨μλ€μ μμλλκ² κ³ μμ λ ν μ μμ΅λλ€. 컨ν μ΄λ κ΄λ ¨λ STLμ€μμ map, setλ±μ λν΄μ μμ보면 μ’μ κ² κ°μμ.
μλ£ κ΅¬μ‘°λ‘ μ μλ§λ 2νλ λ μκ°νκ² λ ν μ§λ§ λ¨Όμ λ°°μμ λμ κ²μ μκ² μ£ . μλ£κ΅¬μ‘°λ μκ³ λ¦¬μ¦κ³Ό λ°μ νκ² μ°κ΄μ΄ μκ³ μ¬λ¬λΆμ μ½λμ νμ§μ μ¬λ €μ£Όλλ° μ§λν 곡νμ ν΄μ€λλ€. stackκ³Ό queueλ₯Ό ꡬνν μΉκ΅¬λ, ꡬννμ§ μμ μΉκ΅¬λ μμ ν λ°μ κ·Έλ° stackκ³Ό queue, linked listλ νΉμ arrayλ±μ λν΄μ μ’ λ μμ보λ μκ°μ κ°λ κ²λ μ λ§ λ§μ λμμ΄ λ κΊΌμμ.