[PCCE 기출문제] 7번 / 가습기
2024. 9. 7. 18:00ㆍPCCE 기출문제
https://school.programmers.co.kr/learn/courses/30/lessons/250127
문제 설명
상우가 사용하는 가습기에는 "auto", "target", "minimum"의 세 가지 모드가 있습니다. 가습기의 가습량은 0~5단계로 구분되며 각 모드 별 동작 방식은 다음과 같습니다.
- "auto" 모드
- 습도가 0 이상 10 미만인 경우 : 5단계
- 습도가 10 이상 20 미만인 경우 : 4단계
- 습도가 20 이상 30 미만인 경우 : 3단계
- 습도가 30 이상 40 미만인 경우 : 2단계
- 습도가 40 이상 50 미만인 경우 : 1단계
- 습도가 50 이상인 경우 : 0단계
- "target" 모드
- 습도가 설정값 미만일 경우 : 3단계
- 습도가 설정값 이상일 경우 : 1단계
- "minimum"모드
- 습도가 설정값 미만일 경우 : 1단계
- 습도가 설정값 이상일 경우 : 0단계
상우가 설정한 가습기의 모드를 나타낸 문자열 mode_type, 현재 공기 중 습도를 나타낸 정수 humidity, 설정값을 나타낸 정수 val_set이 주어질 때 현재 가습기가 몇 단계로 작동 중인지 return하도록 빈칸을 채워 solution 함수를 완성해 주세요.
제한사항
- mode_type은 "auto", "target", "minimum" 세 가지 중 하나의 값을 갖습니다.
- 0 ≤ humidity, val_set ≤ 100
입출력 예
mode_type | humidity | val_set | result |
"auto" | 23 | 45 | 3 |
"target" | 41 | 40 | 1 |
"minimum" | 10 | 34 | 1 |
입출력 예 설명
입출력 예 #1
- "auto"모드이므로 습도에 따라 가습량이 조절됩니다. 현재 습도가 20 이상 30 미만이므로 3을 return합니다.
입출력 예 #2
- "target"모드이고, 설정값보다 습도가 높으므로 1을 return합니다.
입출력 예 #3
- "minimum"모드이고, 설정값보다 습도가 낮으므로 1을 return합니다.
빈칸 채우기 문제 안내
- 빈칸 채우기는 이미 완성된 코드 중 빈칸에 알맞은 코드를 입력하는 문제 타입입니다.
- 빈칸을 제외한 기본 코드는 수정할 수 없습니다.
- 빈칸을 채우지 않을 경우, 실행 결과에 에러 메시지가 표시됩니다.
문제 코드
def func1(humidity, val_set):
if humidity < val_set:
return [ ]
return 1
def func2(humidity):
if humidity >= 50:
return 0
elif humidity >= 40:
return 1
elif humidity >= 30:
return 2
elif humidity >= 20:
return 3
elif humidity >= 10:
return 4
[ ]
[ ]
def func3(humidity, val_set):
if humidity < val_set:
return 1
return [ ]
def solution(mode_type, humidity, val_set):
answer = 0
if mode_type == "auto":
answer = func[ ]
elif mode_type == "target":
answer = func[ ]
elif mode_type == "minimum":
answer = func[ ]
return answer
가습기의 모드에 따라서 가습량이 달라지는 문제입니다.
이 문제에서는 auto를 func2, target을 func3, mininum을 fun1 함수로 구분해서 설정해놨네요.
해당하는 함수들을 조건에 맞게 빈 칸을 채워주시면 됩니다.
정답 코드를 작성해보겠습니다.
def func1(humidity, val_set):
if humidity < val_set:
return 3
return 1
def func2(humidity):
if humidity >= 50:
return 0
elif humidity >= 40:
return 1
elif humidity >= 30:
return 2
elif humidity >= 20:
return 3
elif humidity >= 10:
return 4
else:
return 5
def func3(humidity, val_set):
if humidity < val_set:
return 1
return 0
def solution(mode_type, humidity, val_set):
answer = 0
if mode_type == "auto":
answer = func2(humidity)
elif mode_type == "target":
answer = func1(humidity, val_set)
elif mode_type == "minimum":
answer = func3(humidity, val_set)
return answer
1. 3
2. else: / elif humidity >= 0: / elif humidity < 10: 등등
3. return 5
4. 0
5. 2(humidity)
6. 1(humidity, val_set)
7. 3(humidity, val_set)
'PCCE 기출문제' 카테고리의 다른 글
[PCCE 기출문제] 9번 / 이웃한 칸 (0) | 2024.09.09 |
---|---|
[PCCE 기출문제] 8번 / 창고 정리 (1) | 2024.09.08 |
[PCCE 기출문제] 6번 / 가채점 (0) | 2024.09.06 |
[PCCE 기출문제] 5번 / 산책 (0) | 2024.09.05 |
[PCCE 기출문제] 4번 / 저축 (0) | 2024.09.04 |