본문 바로가기
코딩테스트

프로그래머스 PCCE 기출문제 파이썬 1/4

by 피갓자 2025. 5. 22.

프로그래머스
프로그래머스

출력

문제 설명

주어진 초기 코드는 변수에 데이터를 저장하고 출력하는 코드입니다. 아래와 같이 출력되도록 빈칸을 채워 코드를 완성해 주세요.

출력 예시

Spring is beginning
13
310

solution.py 빈칸 채우기 문제

string_msg = 

int_val = 

string_val = 

print(string_msg)
print(int_val + 10)
print(string_val + "10")
string_msg = "Spring is beginning"

int_val = 3

string_val = "3"

print(string_msg)
print(int_val + 10)
print(string_val + "10")

피타고라스의 정리

문제 설명

직각삼각형이 주어졌을 때 빗변의 제곱은 다른 두 변을 각각 제곱한 것의 합과 같습니다.

직각삼각형의 한 변의 길이를 나타내는 정수 a와 빗변의 길이를 나타내는 정수 c가 주어질 때, 다른 한 변의 길이의 제곱, b_square 을 출력하도록 한 줄을 수정해 코드를 완성해 주세요.

제한사항

  • 1 ≤ a < c ≤ 100

입출력 예

입력 #1

3
5

 

출력 #1

16

 

입력 #2

9
10

 

출력 #2

19

입출력 예 설명

입출력 예 #1

  • a2 = 9, c2 = 25 이므로 16을 출력합니다.

입출력 예 #2

  • a2 = 81, c2 = 100 이므로 19를 출력합니다.

solution.py 디버깅(Debugging) 문제

a = int(input())
c = int(input())

b_square = c - a
print(b_square)
a = int(input())
c = int(input())

b_square = c ** 2 - a ** 2
print(b_square)

나이 계산

문제 설명

나이를 세는 방법은 여러 가지가 있습니다. 그중 한국식 나이는 태어난 순간 1살이 되며 해가 바뀔 때마다 1살씩 더 먹게 됩니다. 연 나이는 태어난 순간 0살이며 해가 바뀔 때마다 1살씩 더 먹게 됩니다. 각각 나이의 계산법은 다음과 같습니다.

한국식 나이 : 현재 연도 - 출생 연도 + 1
연 나이 : 현재 연도 - 출생 연도

출생 연도를 나타내는 정수 year와 구하려는 나이의 종류를 나타내는 문자열 age_type이 주어질 때 2030년에 몇 살인지 출력하도록 빈칸을 채워 코드를 완성해 주세요. age_type이 "Korea"라면 한국식 나이를, "Year"라면 연 나이를 출력합니다.

제한사항

  • 1950 ≤ year ≤ 2030
  • age_type은 "Korea" 또는 "Year"만 주어집니다.

입출력 예

입력 #1

2000
Korea

 

출력 #1

31

 

입력 #2

1999
Year

 

출력 #2

31

입출력 예 설명

입출력 예 #1

  • 2030년에 2000년생의 한국식 나이는 2030 - 2000 + 1 = 31살입니다.

입출력 예 #2

  • 2030년에 1999년생의 연 나이는 2030 - 1999 = 31살입니다.

solution.py 빈칸 채우기 문제

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

if age_type ==      :
    answer =      
elif age_type == "Year":
         

print(answer)
year = int(input())
age_type = input()

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

print(answer)

저축

문제 설명

진우는 돈을 모으기 위해 저축을 하려고 합니다. 목표로 하는 금액은 100만 원이며, 첫 달에 일정 금액을 넣은 뒤 70만 원까지는 매월 조금씩 저축하다가 70만 원 이후부터는 월 저축량을 늘려 빠르게 목표 금액을 달성하고자 합니다.

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

제한사항

  • 0 ≤ start ≤ 99
  • 1 ≤ before ≤ after ≤ 25

입출력 예

입력 #1

28
6
8

 

출력 #1

12

 

입력 #2

75
8
25

 

출력 #2

2

입출력 예 설명

입출력 예 #1

  • 매월 저축된 금액은 아래 표와 같습니다. 따라서 12를 출력합니다.
1 2 3 4 5 6 7 8 9 10 11 12
28 34 40 46 52 58 64 70 78 86 94 102

 

입출력 예 #2

  • 첫 달 저축된 금액이 70이 넘으므로 두 번째 달부터 바로 after = 25 만큼 저축합니다. 따라서 2를 출력합니다.
1 2
75 100

solution.py 빈칸 채우기 문제

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

money = start
month = 1
while money < 70:
    money += 
    month += 1
while       < 100:

    month += 1

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

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

print(month)

산책

문제 설명

여름이는 강아지를 산책시키려고 합니다. 여름이는 2차원 좌표평면에서 동/서/남/북 방향으로 1m 단위로 이동하면서 강아지를 산책시킵니다. 산책루트가 담긴 문자열 route가 주어질 때, 도착점의 위치를 return하도록 빈칸을 채워 solution함수를 완성해 주세요.

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

제한사항

  • 1 ≤ route의 길이 ≤ 20
  • route는 "N", "S", "E", "W"로만 이루어져 있습니다.

입출력 예

route result
"NSSNEWWN" [-1, 1]
"EESEEWNWSNWWNS" [0, 0]

입출력 예 설명

입출력 예 #1

  • "NSSNEWWN" 순서대로 움직이면 서쪽으로 1, 북쪽으로 1만큼 떨어진 곳에 도착하게 되므로 [-1, 1]을 return합니다.

입출력 예 #2

  • "EESEEWNWSNWWNS" 순서대로 움직이면 출발지와 같은 곳으로 돌아오므로 [0, 0]을 return합니다.

solution.py 빈칸 채우기 문제

def solution(route):
    east = 0
    north = 0
    for i in route:
        if i == "N":
            north += 1
        elif i == "S" :

        elif i == "E" :

        elif i ==       :

    return [east, north]
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" :
           east -= 1
    return [east, north]