공부 기록

[Python] 퇴근 후 5문제만 풀어보기 본문

다양한 분야 공부 기록/Python Coding Test

[Python] 퇴근 후 5문제만 풀어보기

kstar2 2024. 12. 31. 01:12

[PCCE 기출문제] 3번 / 나이 계산

출생 연도 year과 나이의 종류를 나타내는 age_type이 주어지는데

조건에 맞도록 빈칸 채우기

year = int(input())
age_type = input()

if age_type == "Korea": #if age_type == 빈칸
    answer = 2030-year+1  #answer = 빈칸
elif age_type == "Year":
    answer = 2030-year #빈칸

print(answer)

위 문제는 빈칸에서 출력값이 정해져서 년도를 맞춰서 하는데 실제로 현재 연도를 넣는다면

라이브러리 중 time, datetime과 같은 게 있음

관련 내용은 아래 링크 참고

https://bio-info.tistory.com/118

 

[Python] 현재시간 출력 및 포맷팅 방법 (time, datetime library)

이번엔 Python을 이용해 현재 시간을 여러 형식으로 출력하는 방법을 알아보겠습니다. time 라이브러리의 strftime 메서드를 사용해서 간단하게 현재 시간을 나타낼 수 있습니다. strftime 메서드는 date

bio-info.tistory.com

 

[PCCE 기출문제] 4번 / 저축

Q. 첫 달에 저축하는 금액을 나타내는 정수 start, 두 번째 달 부터 70만 원 이상 모일 때까지 매월 저축하는 금액을 나타내는 정수 before, 100만 원 이상 모일 때 까지 매월 저축하는 금액을 나타내는 정수 after가 주어질 때, 100만 원 이상을 모을 때까지 걸리는 개월 수를 출력하도록 빈칸을 채워 코드를 완성

start = int(input())
before = int(input())
after = int(input())

money = start
month = 1
while money < 70:
    money += before # money += 빈칸
    month += 1
while money < 100: #while 빈칸 < 100
    money += after #빈칸
    month += 1

print(month)

 

[PCCE 기출문제] 5번 / 산책

Q.

 

  • route는 "N", "S", "E", "W"로 이루어져 있습니다.
    • "N"은 북쪽으로 1만큼 움직입니다.
    • "S"는 남쪽으로 1만큼 움직입니다.
      • 북쪽으로 -1만큼 움직인 것과 같습니다.
    • "E"는 동쪽으로 1만큼 움직입니다.
    • "W"는 서쪽으로 1만큼 움직입니다.
      • 동쪽으로 -1만큼 움직인 것과 같습니다.
  • 출발점으로부터 [동쪽으로 떨어진 거리, 북쪽으로 떨어진 거리]형태로 강아지의 최종 위치를 구해서 return해야 합니다.

 

def solution(route):
    east = 0
    north = 0
    for i in route:
        if i == "N":
            north += 1
        elif i == "S" :
            north  -= 1 #빈칸
        elif i == "E" : 
            east  += 1 #빈칸
        elif i == "W" : #elif i == 빈칸
            east  -= 1 #빈칸
    return [east, north]

 

[PCCE 기출문제] 6번 / 가체점

Q. 성적을 문의하려는 학생들의 번호가 담긴 정수 리스트 numbers와 가채점한 점수가 성적을 문의하려는 학생 순서대로 담긴 정수 리스트 our_score, 실제 성적이 번호 순서대로 담긴 정수 리스트 score_list가 주어집니다. 주어진 solution 함수는 가채점한 점수가 실제 성적과 동일하다면 "Same"을, 다르다면 "Different"를 순서대로 리스트에 담아 return하는 함수

 

#한 줄만 수정 가능
def solution(numbers, our_score, score_list):
    answer = []
    for i in range(len(numbers)):
        if our_score[i] == score_list[numbers[i]-1]: #if numbers[our_score[i]] == score_list[i]:
            answer.append("Same")
        else:
            answer.append("Different")
    
    return answer

 

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

Q. 설정한 가습기의 모드를 나타낸 문자열 mode_type, 현재 공기 중 습도를 나타낸 정수 humidity, 설정값을 나타낸 정수 val_set이 주어질 때 현재 가습기가 몇 단계로 작동 중인지 return하도록 빈칸을 채워 solution 함수를 완성

def func1(humidity, val_set):
    if humidity < val_set:
        return 3 #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
    elif humidity >= 0:     #빈칸  
		return 5 #빈칸


def func3(humidity, val_set):
    if humidity < val_set:
        return 1
    return 0 #return 빈칸

def solution(mode_type, humidity, val_set):
    answer = 0
    if mode_type == "auto":
        answer = func2(humidity) #answer = func 빈칸
    elif mode_type == "target":
        answer = func1(humidity, val_set) #answer = func 빈칸
    elif mode_type == "minimum":
        answer = func3(humidity, val_set) #answer = func 빈칸
    return answer