관리 메뉴

동이의 개발일지

[PCCE 기출문제] 7번 / 가습기 본문

Algorithm/Programmers

[PCCE 기출문제] 7번 / 가습기

개발하는 동이 2024. 8. 8. 17:26
728x90

상우가 사용하는 가습기에는 "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 함수를 완성해 주세요.

 

이번껀 코드 기니 빈칸1, 2, 이런식 말고 코드로 바로 올리겠습니다.

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 : 로 했었는데 - 값이 들어가면 안된다는걸 3분 뒤에 알았습니다
    elif 0 <= humidity < 10:
    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

 

 

출처  : https://school.programmers.co.kr/learn/challenges?order=recent&levels=0

728x90
반응형

'Algorithm > Programmers' 카테고리의 다른 글

문자열 출력하기  (0) 2024.08.12
[PCCE 기출문제] 8번 / 창고 정리  (0) 2024.08.08
[PCCE 기출문제] 6번 / 가채점  (0) 2024.08.08
[PCCE 기출문제] 5번 / 산책  (0) 2024.08.05
[PCCE 기출문제] 4번 / 저축  (0) 2024.08.05