본문 바로가기
강좌/PCCE 기출문제(파이썬)

[PCCE 기출문제][파이썬] 6. 가채점

by Moons0827 2024. 8. 26.
반응형

문제는 아래 주소에서 풀 수 있습니다.

코딩테스트 연습 - [PCCE 기출문제] 6번 / 가채점 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문 제

A반 학생들은 시험이 끝난 뒤 성적이 나오기 전 자기 시험지를 가채점해 보았습니다. 이후에 선생님이 실제 성적을 불러 줄 때 가채점한 점수와 실제 성적이 다른 학생들이 있어 선생님께 문의를 하려고 합니다.

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


제한 사항

  • 1 ≤ numbers의 길이 = our_score의 길이 ≤ 10
    • 1 ≤ numbers의 원소 ≤ 31
    • 0 ≤ our_score의 원소 ≤ 100
    • our_score[i]는 numbers[i]번 학생이 가채점한 점수입니다.
    • numbers는 중복된 원소를 가지지 않습니다.
  • 2 ≤ score_list의 길이 ≤ 31
    • 0 ≤ score_list의 원소 ≤ 100
    • score_list에는 실제 성적이 [1번 학생 성적, 2번 학생 성적, 3번 학생 성적 …] 순서로 들어있습니다.

입출력 예

입출력 예 #1

  • 1번 학생이 가채점한 성적은 100점으로 실제 성적과 같기 때문에 "Same"을 담아 return합니다.

입출력 예 #2

  • 3번 학생이 가채점한 성적은 85점으로 실제 성적 38점과 다르기 때문에 "Different"를, 4번 학생이 채점한 성적은 93점으로 실제 성적과 같기 때문에 "Same"을 담아 return합니다.

주어진 코드

def solution(numbers, our_score, score_list):
    answer = []
    for i in range(len(numbers)):
        if numbers[our_score[i]] == score_list[i]:
            answer.append("Same")
        else:
            answer.append("Different")
    
    return answer

정 답

def solution(numbers, our_score, score_list):
    answer = []
    for i in range(len(numbers)):
        if our_score[i] == score_list[numbers[i]-1]:
            answer.append("Same")
        else:
            answer.append("Different")
    
    return answer

해 설

1. 1줄: 함수를 정의합니다. solution이라는 함수가 정의되며, 이 함수는 세 개의 인자를 받습니다.

2. 2줄: 빈 리스트 answer를 초기화합니다.

3. 3줄: for 루프가 numbers의 리스트 길이만큼 반복됩니다. 

4. 4줄: our_score 리스트의 i번째 요소(문의할 점수)와 score_list( numbers[i] -1) 위치의 값을 비교합니다.
이 때,
원소는 학생의 번호이기 때문에 1부터 시작합니다. 따라서 1을 뺴줍니다.

5. 5~6줄: 조건문이 참이면 Same. 거깃이면 Differnt 문자열을 anwer 리스트에 추가합니다.

더보기

append() 함수는 파이썬에서 리스트의 끝에 새로운 요소를 추가하는 매서드입니다.

반응형

댓글