-
JUNGOL...11일지 2020. 10. 23. 21:41
Language_Code/선택제어문/자가진단1
문제
정수를 입력받아 첫 줄에 입력 받은 숫자를 출력하고 둘째 줄에 음수이면 “minus” 라고 출력하는 프로그램을 작성하시오.
입력 예
-5 │ 5
출력 예
-5 │ 5
minus │
BasicConditional01.h
#include <iostream>
BasicConditional01.cpp
void BasicConditional01::Code() { int var; std::cin >> var; std::cout << var << '\n'; if (var < 0) { std::cout << "minus"; } }
Language_Code/선택제어문/자가진단2
문제
“몸무게+100-키”를 비만수치 공식이라고 하자.
키와 몸무게를 자연수로 입력받아 첫 번째 줄에 비만수치를 출력하고, 비만수치가 0보다 크면 다음줄에 비만("Obesity")이라는 메시지를 출력하는 프로그램을 작성하시오. (출력형식은 아래 출력 예를 참고하세요.)
입력 예
155 60
출력 예
5
Obesity
BasicConditional02.h
#include <iostream>
BasicConditional02.cpp
void BasicConditional02::Code() { int height, weight; std::cin >> height >> weight; int obesityScore{ weight + 100 - height }; std::cout << obesityScore << '\n'; if (obesityScore > 0) { std::cout << "Obesity"; } }
Language_Code/선택제어문/자가진단3
문제
나이를 입력받아 20살 이상이면 "adult"라고 출력하고 그렇지 않으면 몇 년후에 성인이 되는지를 "○ years later"라는 메시지를 출력하는 프로그램을 작성하시오.
입력 예
18
출력 예
2 years later
BasicConditional03.h
#include <iostream>
BasicConditional03.cpp
void BasicConditional03::Code() { int age; std::cin >> age; if (age >= 20) { std::cout << "adult"; } else { int leftYears{ 20 - age }; std::cout << leftYears << " years later"; } }
Language_Code/선택제어문/자가진단4
문제
복싱체급은 몸무게가
50.80kg 이하를 Flyweight,
61.23kg 이하를 Lightweight,
72.57kg 이하를 Middleweight,
88.45kg 이하를 Cruiserweight,
88.45kg 초과를 Heavyweight
라고 하자.
몸무게를 입력받아 체급을 출력하는 프로그램을 작성하시오.
입력 예
87.3
출력 예
Cruiserweight
BasicConditional04.h
#include <iostream>
BasicConditional04.cpp
void BasicConditional04::Code() { float weight; std::cin >> weight; if (weight <= 50.80f) { std::cout << "Flyweight"; } else if (weight <= 61.23f) { std::cout << "Lightweight"; } else if (weight <= 72.57f) { std::cout << "Middleweight"; } else if (weight <= 88.45f) { std::cout << "Cruiserweight"; } else { std::cout << "Heavyweight"; } }
Language_Code/선택제어문/자가진단5
문제
두 개의 실수를 입력받아 모두 4.0 이상이면 "A", 모두 3.0 이상이면 "B", 아니면 "C" 라고 출력하는 프로그램을 작성하시오.
입력 예
4.3 3.5 │ 4.0 2.9
출력 예
B │ C
BasicConditional05.h
#include <iostream>
BasicConditional05.cpp
void BasicConditional05::Code() { float var1, var2; std::cin >> var1 >> var2; if (var1 >= 4.0f && var2 >= 4.0f) { std::cout << 'A'; } else if (var1 >= 3.0f && var2 >= 3.0f) { std::cout << 'B'; } else { std::cout << 'C'; } }
Language_Code/선택제어문/자가진단6
문제
남자는 'M' 여자는 'F'로 나타내기로 하고 18세 이상을 성인이라고 하자.
성별('M', 'F')과 나이를 입력받아 "MAN"(성인남자), "WOMAN"(성인여자), "BOY"(미성년남자), "GIRL"(미성년여자)을 구분하여 출력하는 프로그램을 작성하시오.
입력 예
F 15
출력 예
GIRL
BasicConditional06.h
#include <iostream>
BasicConditional06.cpp
void BasicConditional06::Code() { char sex; int age; std::cin >> sex >> age; bool isAdult{ (age >= 18) }; if (sex == 'M') { if (isAdult) { std::cout << "MAN"; } else { std::cout << "BOY"; } } else { if (isAdult) { std::cout << "WOMAN"; } else { std::cout << "GIRL"; } } }
Language_Code/선택제어문/자가진단7
문제
영문 대문자를 입력받아
'A'이면 “Excellent”,
'B'이면 “Good”,
'C'이면 “Usually”,
'D'이면 “Effort”,
'F'이면 “Failure”,
그 외 문자이면 “error” 라고 출력하는 프로그램을 작성하시오.
입력 예
B
출력 예
Good
Hint!
Python의 경우 문자열 입력시 앞뒤에 공백이 포함될 경우가 있는데 strip() 함수를 사용하여 문제를 해결할 수 있다.
예) str = input().strip()
BasicConditional07.h
#include <iostream>
BasicConditional07.cpp
void BasicConditional07::Code() { char ch; std::cin >> ch; switch (ch) { case 'A': std::cout << "Excellent"; break; case 'B': std::cout << "Good"; break; case 'C': std::cout << "Usually"; break; case 'D': std::cout << "Effort"; break; case 'F': std::cout << "Failure"; break; default: std::cout << "error"; break; } }
Language_Code/선택제어문/자가진단8
문제
4.5 이하의 평점을 입력받아 그 값에 따라 다음과 같이 출력하는 프로그램을 작성하시오.
(C, C++, Java는 switch ~ case문 사용) (Python은 if ~ else사용)
단 입력는 0이상 4.5 이하이다.4.0 이상 : "scholarship"
3.0 이상 : "next semester"
2.0 이상 : "seasonal semester"
2.0 미만 : "retake"
>> 실수를 정수형(int)으로 변환하여 분기한다. (예 - switch( (int)score ))
입력 예
3.5
출력 예
next semester
BasicConditional08.h
#include <iostream>
BasicConditional08.cpp
void BasicConditional08::Code() { int score; std::cin >> score; switch (score) { case 4: std::cout << "scholarship"; break; case 3: std::cout << "next semester"; break; case 2: std::cout << "seasonal semester"; break; default: std::cout << "retake"; break; } }
Language_Code/선택제어문/자가진단9
문제
3개의 정수를 입력받아 조건연산자를 이용하여 입력받은 수들 중 최소값을 출력하는 프로그램을 작성하시오.
입력 예
18 -5 10
출력 예
-5
Hint!
두 수중 먼저 작은 값을 구한 후 나머지 수와 비교하여 구하면 된다.
예)
min = (a < b) ? a : b;
min = (min < c) ? min : c;
또는 아래 예와 같이 조건 연산자를 중첩하여 한 번에 구하는 방법도 있지만 식이 너무 복잡해지므로 참고는 하되 프로그램 작성할 때에는 가능한 쉬운 방법으로 작성할 것을 권장한다.
예)
(a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c);
또는
(a < b && a < c) ? a : (b < c) ? b : c;
BasicConditional09.h
#include <iostream>
BasicConditional09.cpp
void BasicConditional09::Code() { int var1, var2, var3; std::cin >> var1 >> var2 >> var3; int minimum{ (var1 < var2 ? (var1 < var3 ? var1 : var3) : (var2 < var3 ? var2 : var3)) }; std::cout << minimum; }
NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)