C#에는 두 가지 종류의 숫자가 있어요:
-6, 0, 1, 25, 976, 500000 등이 있어요.-2.4, 0.1, 3.14, 16.984025, 1024.0 등이 있어요.C#에서 가장 흔히 쓰이는 숫자 타입은 int와 double이에요. int는 32비트 정수이고, double은 64비트 실수예요.
산술 계산은 표준 산술 연산자로 해요. 숫자는 표준 숫자 비교 연산자와 같음(==), 다름(!=) 연산자로 비교할 수 있어요.
C#에는 두 가지 숫자 변환이 있어요:
int는 double보다 정밀도가 낮기 때문에, int에서 double으로 변환하는 것은 안전하고 따라서 암시적 변환이에요. 하지만 double에서 int로 변환하면 데이터가 손실될 수 있어서 명시적 변환이 필요해요.
int softCool = 1358938113;
double notLost = 4.8151623;
// implicit cast: no loss of information
double macDebug = softCool; // 1358938113.0
// explicit cast: possible loss of information
int somethingLost = (int)notLost; // 4
if 문이 연습 문제에서는 조건에 따라 로직을 실행해야 해요. C#에서 이렇게 하는 가장 흔한 방법은 if/else 문을 사용하는 거예요:
int x = 6;
if (x == 5)
{
// Execute logic if x equals 5
}
else if (x > 7)
{
// Execute logic if x greater than 7
}
else
{
// Execute logic in all other cases
}
if 문의 조건은 bool 타입이어야 해요. C#에는 _truthy_한 값이라는 개념이 없어요.
이 연습 문제에서는 자동차 공장 조립 라인의 생산량을 분석하는 코드를 작성해요.
조립 라인의 속도는 0(꺼짐)부터 10(최대)까지 설정할 수 있어요.
가장 낮은 속도인 1에서는 시간당 221대의 자동차가 생산돼요.
생산량은 속도에 비례해서 늘어나요.
그래서 속도를 4로 설정하면 시간당 4 * 221 = 884대의 자동차를 생산해야 해요.
하지만 속도가 높아질수록 결함이 있는 자동차가 생산될 가능성도 커지고, 이런 자동차는 폐기해야 해요.
세 가지 작업이 있어요.
주어진 속도에서 제품이 오류 없이 만들어질 비율을 계산하는 (static) AssemblyLine.SuccessRate() 메서드를 구현해요.
다음 표는 속도가 성공률에 어떤 영향을 주는지 보여줘요.
0: 성공률 0%.1부터 4까지: 성공률 100%.5부터 8까지: 성공률 90%.9: 성공률 80%.10: 성공률 77%.AssemblyLine.SuccessRate(10)
// => 0.77
성공률을 고려해서 조립 라인의 시간당 생산량을 계산하는 (static) AssemblyLine.ProductionRatePerHour() 메서드를 구현해요.
AssemblyLine.ProductionRatePerHour(6)
// => 1193.4
반환되는 값은 double이라는 점에 주의해요.
분당 정상 자동차가 몇 대 생산되는지 계산하는 (static) AssemblyLine.WorkingItemsPerMinute() 메서드를 구현해요.
AssemblyLine.WorkingItemsPerMinute(6)
// => 19
반환되는 값은 int라는 점에 주의해요.
Exercism에 가입하고 C# 트랙을 개념 62개연습 문제 178개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.