[프로그래머스] PCCE 모의고사 1회(6~8번) Python

주재민·2023년 9월 6일

코딩테스트

목록 보기
3/10
post-thumbnail

📃 6번

주어진 초기 코드는 정수들이 저장된 리스트 num_list의 각 원소 값 만큼 반복해서 그 값을 출력하는 코드입니다.

예를들어 num_list[1, 4, 3]라면

1
4 4 4 4
3 3 3

으로 출력돼야 합니다.
올바르게 동작하도록 코드를 한 줄 수정해 보세요.

num_list = [1, 3, 5, 2, 12]
for i in range(len(num_list)):
    for j in range(i):
        print(num_list[i], end=' ')
    print()

🔍 정답

📃 7번

0부터 9까지의 정수가 담긴 리스트 num_list가 주어질 때, 길이가 10인 0으로 이루어진 리스트 count_listnum_list에 저장된 원소들의 빈도수를 저장하려고 합니다.

num_list에 정수i가 있다면, count_list[i]에 1을 증가시켜 빈도수를 저장하면 됩니다.

만약 num_list[1, 1, 5, 2]라면 count_list[0, 2, 1, 0, 0, 1, 0, 0, 0, 0]가 됩니다.

코드가 올바르게 동작하도록 한 줄을 수정해 보세요.

num_list = [9, 2, 3, 1, 6, 8, 0, 
            8, 9, 2, 1, 7, 7, 3, 5]
count_list = [0] * 10
for i in range(len(num_list)):
    count_list[i] += i
#출력 코드
print(count_list)

🔍 정답

📃 8번

다음은 정수형 배열 num_list를 입력받아 배열의 원소가 홀수라면 "odd"를, 짝수라면 "even"를 answer에 저장하여 return하는 코드입니다. 단 "even"를 3번 저장한 경우 함수를 종료하려고 합니다. 코드를 한 줄만 수정해 정상적으로 작동되게 만들어주세요.

def solution(num_list):
    count_even = 0
    answer = []   
    for num in num_list:
        if num % 2 == 0:
            answer.append("even")
            count_even += 1          
            if count_even > 3:
                break
        else:
            answer.append("odd")   
    return answer

🔍 정답


8번까지의 문제들은 빈칸 채우기나 한 줄 수정같은 문제들로 나와서 크게 어렵진 않았다. 9번과 10번은 코드 작성 문제라 따로 포스팅 하는게 좋겠다고 생각했다.

0개의 댓글