공부 기록

다시 코테 준비하기 본문

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

다시 코테 준비하기

kstar2 2025. 1. 27. 22:53

[PCCE 기출문제] 8번 / 창고 정리

주어진 solution 함수는 정리되기 전 창고의 물건 이름이 담긴 문자열 리스트 storage와 각 물건의 개수가 담긴 정수 리스트 num이 주어질 때, 정리된 창고에서 개수가 가장 많은 물건의 이름을 return 하는 함수

제한사항

  • 1 ≤ storage의 길이 = num의 길이 ≤ 30
  • storage[i]는 영어 대소문자로 이루어져 있습니다.
  • 물건은 대소문자를 구분합니다. 즉, "Book"과 "book"은 서로 다른 물건입니다.
  • 1 ≤ storage[i]의 길이 ≤ 30
    1 ≤ num[i] ≤ 20
  • num[i]에는 storage[i]에 해당하는 물건의 개수가 담겨있습니다.
  • 가장 개수가 많은 물건이 두 가지 이상인 경우는 없습니다.
  • 한 칸에는 한 종류의 물건만 들어갈 수 있습니다.
def solution(storage, num):
    clean_storage = []
    clean_num = []
    for i in range(len(storage)):
        if storage[i] in clean_storage:
            pos = clean_storage.index(storage[i])
            clean_num[pos] += num[i]
        else:
            clean_storage.append(storage[i]) #clean_storage.append(num[i])
            clean_num.append(num[i])
            
    # 아래 코드에는 틀린 부분이 없습니다.
            
    max_num = max(clean_num)
    answer = clean_storage[clean_num.index(max_num)]
    return answer

문자열 출력하기

문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요.

제한사항

  • 1 ≤ str의 길이 ≤ 1,000,000
  • str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어집니다.
str = input()
print(str) #새로 작성

a와 b 출력하기

정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성

a, b = map(int, input().strip().split(' '))
print("a =",a,"\nb =",b) #print(a + b)

#print('a = {}\nb = {}'.format(a, b))
#print(f"a = {a}\nb = {b}")

문자열 반복해서 출력하기

문자열 str과 정수 n이 주어집니다.
str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성

제한사항

  • 1 ≤ str의 길이 ≤ 10
  • 1 ≤ n ≤ 5
str, n = input().strip().split(' ')
n = int(n)
print(str*n) #새로 작성

대소문자 바꿔서 출력하기

영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성

제한사항

  • 1 ≤ str의 길이 ≤ 20
  • str은 알파벳으로 이루어진 문자열입니다.
str = input()
## 아래 내용들 새로 작성
new_str = ''
for i in str:
    if i.isupper():
        new_str += i.lower()
    else:
        new_str += i.upper()
print(new_str)

# print(input().swapcase()) # swapcase()라는 함수를 몰랐음