SWLUG/ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 슀쿨 (C)

[C] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 슀쿨_3μ£Όμ°¨ 문제 1: λ‚˜μ΄ 좜λ ₯

waterproof 2023. 7. 21. 18:07

[C] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 슀쿨_3μ£Όμ°¨ 문제1: λ‚˜μ΄ 좜λ ₯

 

 

 


[1] 문제

 

문제 μ„€λͺ…

λ¨Έμ“±μ΄λŠ” 40살인 μ„ μƒλ‹˜μ΄ λͺ‡ λ…„도에 νƒœμ–΄λ‚¬λŠ”μ§€ κΆκΈˆν•΄μ‘ŒμŠ΅λ‹ˆλ‹€. λ‚˜μ΄ ageκ°€ μ£Όμ–΄μ§ˆ λ•Œ, 2022년을 κΈ°μ€€ μΆœμƒ μ—°λ„λ₯Ό return ν•˜λŠ” solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.


μ œν•œμ‚¬ν•­

  • 0 < age ≤ 120
  • λ‚˜μ΄λŠ” νƒœμ–΄λ‚œ μ—°λ„에 1살이며 1λ…„λ§ˆλ‹€ 1μ”© μ¦κ°€ν•©λ‹ˆλ‹€.

 

μž…μΆœλ ₯ μ˜ˆ

age result
40 1983
23 2000

 

μž…μΆœλ ₯ μ˜ˆ μ„€λͺ…

μž…μΆœλ ₯ μ˜ˆ #1

  • 2022λ…„ κΈ°μ€€ 40μ‚΄μ΄λ―€λ‘œ 1983λ…„μƒμž…λ‹ˆλ‹€.

μž…μΆœλ ₯ μ˜ˆ #2

  • 2022λ…„ κΈ°μ€€ 23μ‚΄μ΄λ―€λ‘œ 2000λ…„μƒμž…λ‹ˆλ‹€.

 

 

 


[2] μ •λ‹΅

 

1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
 
int solution(int age) {
    int answer = 0;
    answer = 2023 - age;
    return answer;
}
cs

 

 

 

 


[3] 해석

 

1. #include λ¬Έ:

  • #include <stdio.h>: ν‘œμ€€ μž…λ ₯/좜λ ₯ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ ν¬ν•¨λ˜λŠ” 헀더 νŒŒμΌμ΄λ‹€.
  • #include <stdbool.h>: λΆˆλ¦¬μ–Έ μžλ£Œν˜•(bool)κ³Ό κ΄€λ ¨λœ κΈ°λŠ₯을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ ν¬ν•¨λ˜λŠ” 헀더 νŒŒμΌμ΄λ‹€.
  • #include <stdlib.h>: 일반적인 μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜λ“€μ„ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ ν¬ν•¨λ˜λŠ” 헀더 νŒŒμΌμ΄λ‹€.

 

2. int solution(int age) ν•¨μˆ˜:

  • int: ν•¨μˆ˜κ°€ μ •μˆ˜ν˜•(int) 값을 λ°˜ν™˜ν•œλ‹€λŠ” 것을 λ‚˜νƒ€λ‚Έλ‹€.
  • solution: ν•¨μˆ˜μ˜ 이름
  • (int age): ν•¨μˆ˜μ— μ „λ‹¬λ˜λŠ” λ§€κ°œλ³€μˆ˜λ‘œ, λ‚˜μ΄λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ν˜• λ³€μˆ˜ ageλ₯Ό λ°›λŠ”λ‹€.

 

3. ν•¨μˆ˜ λ‚΄μš©:

  • int answer = 0;: μ •μˆ˜ν˜• λ³€μˆ˜ answerλ₯Ό μ„ μ–Έν•˜κ³  μ΄ˆκΈ°κ°’μ„ 0으둜 μ„€μ •ν•œλ‹€.
  • answer = 2023 - age;: ν˜„μž¬ 연도(2023)μ—μ„œ μž…λ ₯된 λ‚˜μ΄(age)λ₯Ό λΊ€ κ²°κ³Όλ₯Ό answer λ³€μˆ˜μ— μ €μž₯ν•œλ‹€.
  • return answer;: κ³„μ‚°λœ answer 값을 λ°˜ν™˜ν•˜μ—¬ ν•¨μˆ˜μ˜ 결과둜 λŒλ €μ€€λ‹€.

 

4. ν•¨μˆ˜μ˜ λ™μž‘ 원리:

μ£Όμ–΄μ§„ λ‚˜μ΄λ₯Ό μ΄μš©ν•˜μ—¬ 2023년에 λͺ‡ 살이 될지λ₯Ό κ³„μ‚°ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” κ°„λ‹¨ν•œ ν•¨μˆ˜μ΄λ‹€. 예λ₯Ό λ“€μ–΄, solution(25)λ₯Ό ν˜ΈμΆœν•˜λ©΄, 2023년에 25살이 λ˜λ―€λ‘œ ν•¨μˆ˜λŠ” 2023 - 25 = 1998을 λ°˜ν™˜ν•  것이닀.

5. μƒλž΅ν•  수 μžˆλŠ” λΆ€λΆ„:

<stdbool.h> 헀더 νŒŒμΌμ€ 이 μ½”λ“œμ—μ„œ μ‚¬μš©λ˜μ§€ μ•Šκ³  있기 λ•Œλ¬Έμ— μƒλž΅ν•΄λ„ λ¬Έμ œμ—†μ΄ λ™μž‘ν•  것이닀. λΆˆλ¦¬μ–Έ μžλ£Œν˜•(bool)을 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ ν•΄λ‹Ή 헀더 νŒŒμΌμ€ μƒλž΅ν•΄λ„ λœλ‹€.

 

 

 


[4] 풀이 및 μ˜€λ‹΅

 

βœ”οΈ answer = 2022 - age; 라고 μ μ–΄μ„œ ν‹€λ Έμ—ˆλ‹€. → answer = 2023 - age; 이라고 κ³ μ³μ£Όμ—ˆλ‹€. 만 λ‚˜μ΄λ‘œ λ°”λ€ŒκΈ° μ „μ˜ ν•œκ΅­μ‹ λ‚˜μ΄λ₯Ό μ‚¬μš©ν–ˆλ‹€λŠ” 것을 염두에 두어야 ν•œλ‹€.

 

 

 


[5] μΆ”κ°€ ν•™μŠ΅

✏️ <stdbool.h> λž€?: https://exponent.tistory.com/41

 

[C] <stdbool.h> λž€?

은 C ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ μ‚¬μš©λ˜λŠ” 헀더 νŒŒμΌμ΄λ‹€. 이 헀더 νŒŒμΌμ—λŠ” C μ–Έμ–΄μ—μ„œ λΆˆλ¦¬μ–Έ(bool) νƒ€μž…κ³Ό κ΄€λ ¨λœ κΈ°λŠ₯이 μ •μ˜λ˜μ–΄ μžˆλ‹€. C μ–Έμ–΄λŠ” 기본적으둜 λΆˆλ¦¬μ–Έ νƒ€μž…μ„ μ œκ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 헀더

exponent.tistory.com

 

 

 


[6] λŠλ‚€ 점

 

μ΄λ²ˆμ—” 'ν•¨μˆ˜' κ°œλ…λ§Œ 잘 μ΄ν•΄ν•˜κ³  있으면 ꡉμž₯히 μ‰½κ²Œ ν’€ 수 μžˆλŠ” 문제라고 μƒκ°ν•œλ‹€.