Skip to content

Latest commit

Β 

History

History
77 lines (56 loc) Β· 5.85 KB

File metadata and controls

77 lines (56 loc) Β· 5.85 KB

λ‘˜μ§Έ μ£Ό, 과제

이번 μ£Όμ—λŠ” 기술적인 뢀뢄에 λŒ€ν•΄μ„œ 쑰금 맛을 λ³΄μ•˜μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 이것을 ν™œμš©ν•˜κ³  μ΅νžˆλŠ” 과정이 ν•„μš”ν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 이번 주의 κ³Όμ œλŠ” μ§€κΈˆκΉŒμ§€ 배운 것듀과 λ°°μš°μ§€ μ•Šμ€ 것듀을 적절히 ν™œμš©ν•˜μ—¬ μ΅œλŒ€ν•œ λ§Žμ€ 문제λ₯Ό 풀어보면 λ©λ‹ˆλ‹€.

1번 과제

100개의 숫자(0 < n < 10)λ₯Ό λ°›μ•„μ„œ μ •λ ¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€λ©΄ λ©λ‹ˆλ‹€. 각각 μ˜€λ¦„ 차순, λ‚΄λ¦Ό 차순으둜 μ •λ ¬ν•œ κ²°κ³Όλ₯Ό ν‘œμ‹œν•΄μ•Ό ν•˜λ©° κ°€μž₯ λ§Žμ€ μˆ«μžλŠ” 무엇이고 λͺ‡ κ°œκ°€ μžˆλŠ”μ§€λ„ 좜λ ₯ν•΄ 보면 λ©λ‹ˆλ‹€.

2번 과제

학생 λΆ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“­λ‹ˆλ‹€. μ•„λž˜μ˜ λͺ…μ„Έλ₯Ό λ”°λ₯΄λ©΄ λ©λ‹ˆλ‹€.

  • 학생은 이름, 번호, 전곡을 κ°–μŠ΅λ‹ˆλ‹€.
  • 학생을 μΆ”κ°€/μ‚­μ œ ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.
  • 학생 정보λ₯Ό μ—΄λžŒν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.
    • 전체λ₯Ό μ—΄λžŒν•  λ•ŒλŠ” 번호(μ˜€λ¦„μ°¨μˆœ)둜 μ •λ ¬ν•œλ‹€
    • μ „κ³΅λ³„λ‘œ μ •λ ¬ ν•  수 도 μžˆλ‹€. (전곡이 κ°™λ‹€λ©΄ 번호(μ˜€λ¦„μ°¨μˆœ)으둜 μ •λ ¬)
    • 이름을 μž…λ ₯ν•΄ ν•΄λ‹Ή 학생을 λ°”λ‘œ ν‘œμ‹œν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.
      • μ΄λ ‡κ²Œ ν‘œμ‹œλœ μƒνƒœμ—μ„œ μ‚­μ œκ°€ κ°€λŠ₯ν•΄μ•Ό ν•œλ‹€.

3번 과제

ꡬ슬치기 μ…‹νŠΈλ₯Ό λ§Œλ“­λ‹ˆλ‹€. μ•„λž˜μ˜ λͺ…μ„Έλ₯Ό λ”°λ₯΄λ©΄ λ©λ‹ˆλ‹€.

  • κ΅¬μŠ¬μ€ μœ„μΉ˜ μ’Œν‘œ(x, y)와 색상(λΉ¨, μ£Ό, λ…Έ, 초)을 κ°–μŠ΅λ‹ˆλ‹€.
  • λ§€ λ°˜λ³΅λ§ˆλ‹€ ꡬ슬의 μœ„μΉ˜λŠ” ν˜„μž¬ μœ„μΉ˜μ—μ„œ μœ„, μ•„λž˜, 쒌, 우 둜 움직일 수 μžˆμŠ΅λ‹ˆλ‹€. (0 < x,y < 100)
  • λ§Œμ•½ λ‹€λ₯Έ μƒ‰μƒμ˜ ꡬ슬이 μ„œλ‘œ 같은 μœ„μΉ˜μ— 있게 λœλ‹€λ©΄ '좩돌!'이라고 λ©”μ„Έμ§€λ₯Ό 남기고 μ†Œλ©Έν•©λ‹ˆλ‹€.
  • λ§Œμ•½ 같은 μƒ‰μƒμ˜ ꡬ슬이 μ„œλ‘œ 같은 μœ„μΉ˜μ— μžˆλ‹€λ©΄ ν•˜λ‚˜λ‘œ ν•©μ³μ§‘λ‹ˆλ‹€.

4번 과제

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인 μˆ«μžλ“€μ„ λͺ¨λ‘ μ‚­μ œν•©λ‹ˆλ‹€.

5번 과제

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에 μ‘΄μž¬ν•˜λŠ” λ§Žμ€ ν•¨μˆ˜λ“€μ„ λ‹€ λ°°μ›Œλ³΄κ³  μ‚¬μš©ν•  ν•„μš”λŠ” μ—†μ–΄μš”. λ‹€λ§Œ μš°λ¦¬κ°€ μ’€ 더 νŽΈν•˜κ²Œ 코딩을 ν•˜κΈ° μœ„ν•΄μ„œ 우리의 손가락을 μ’€ 더 νŽΈν•˜κ²Œ 해쀄 수 μžˆλŠ” λͺ‡λͺ‡ ν•¨μˆ˜λ“€μ€ μ•Œμ•„λ‘λŠ”κ²Œ 고생을 덜 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ»¨ν…Œμ΄λ„ˆ κ΄€λ ¨λœ STLμ€‘μ—μ„œ map, set등에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄λ©΄ 쒋을 것 κ°™μ•„μš”.

  • 자료ꡬ쑰 κ³΅λΆ€ν•˜κΈ°

자료 ꡬ쑰둠을 μ•„λ§ˆλ„ 2ν•™λ…„ λ•Œ μˆ˜κ°•ν•˜κ²Œ 될 ν…Œμ§€λ§Œ λ¨Όμ € λ°°μ›Œμ„œ λ‚˜μ  것은 μ—†κ² μ£ . μžλ£Œκ΅¬μ‘°λŠ” μ•Œκ³ λ¦¬μ¦˜κ³Ό λ°€μ ‘ν•˜κ²Œ 연관이 있고 μ—¬λŸ¬λΆ„μ˜ μ½”λ“œμ˜ ν’ˆμ§ˆμ„ μ˜¬λ €μ£ΌλŠ”λ° μ§€λŒ€ν•œ κ³΅ν—Œμ„ ν•΄μ€λ‹ˆλ‹€. stackκ³Ό queueλ₯Ό κ΅¬ν˜„ν•œ μΉœκ΅¬λ„, κ΅¬ν˜„ν•˜μ§€ μ•Šμ€ μΉœκ΅¬λ„ μžˆμ„ ν…λ°μš” 그런 stackκ³Ό queue, linked listλ‚˜ ν˜Ήμ€ array등에 λŒ€ν•΄μ„œ μ’€ 더 μ•Œμ•„λ³΄λŠ” μ‹œκ°„μ„ κ°–λŠ” 것도 정말 λ§Žμ€ 도움이 될 κΊΌμ—μš”.