본문 바로가기

Skill Sets/Python

[Python] 총점(프로그래머스/python/COS Pro 2급)

SMALL

안녕하세요! 데코입니다!

 

오늘은 프로그래머스 코딩테스트 COS Pro 2급 모의고사에 있는 "총점" 문제를 포스팅하려고 합니다!

 

바로 포스팅 시작할게요! :)

(출처 : https://school.programmers.co.kr/learn/courses/33/lessons/1856)

 


 

1. 문제 : 총점(COS Pro 2급)

 


 

2. 문제 설명

 

한 학생의 과목별 점수가 들어있는 배열이 주어졌을 때,

이 학생의 최고 점수와 최저 점수를 제외한 나머지 점수들의 합계를 구하려 합니다.

이를 위해 다음과 같이 4단계로 프로그램 구조를 작성했습니다.

 

1. 모든 과목 점수의 합을 구합니다.
2. 최고 점수를 구합니다.
3. 최저 점수를 구합니다.
4. (모든 과목 점수의 합) - (최고 점수) - (최저 점수)의 값을 return 합니다.

 

학생의 과목별 점수가 들어있는 배열 scores가 매개변수로 주어질 때,

학생의 과목별 점수에서 최고 점수와 최저 점수를 제외한 나머지 점수의 합을

return 하도록 solution 함수를 작성하려 합니다.

 

위 구조를 참고하여 코드가 올바르게 동작할 수 있도록

빈칸에 주어진 funca, funcb, func_c 함수를 알맞게 채워주세요.

 

[ 매개변수 설명 ]


학생의 과목별 점수가 들어있는 배열 scores가 solution 함수의 매개변수로 주어집니다.

scores의 길이는 3 이상 10 이하입니다.
학생의 점수는 0점 이상 100점 이하의 정수이며, 같은 점수를 받은 과목은 없습니다.

 

[ Return 값 설명 ]

 

solution 함수는 학생의 과목별 점수에서 최고 점수와 최저 점수를 제외한 나머지 점수의 합을 return 합니다.

 

[ 예시 ]

scores result
[ 50, 35, 78, 91, 85 ] 213

 

예시 #1

 - 가장 높은 점수 : 91점
 - 가장 낮은 점수 : 35점


가장 높은 점수와 가장 낮은 점수를 제외한 나머지 점수들의 합은 50 + 78 + 85 = 213점입니다.

 


 

3. 문제 풀이

 

 

문제 속 빈칸을 채우는 코드를 위에서부터

빈칸 1-1, 빈칸 1-2

빈칸 2-1, 빈칸 2-2

빈칸 3-1, 빈칸 3-2

이렇게 총 6개의 빈칸을 채우고 설명해 볼게요!

 

#  문제 풀이 설명

문제 설명에 있었던 함수 3개를 먼저 보았어요! (func_a(), func_b()  , func_c() )

 

func_a()는 s에서 최대 값을 찾는 함수이고,

func_b()는 s의 모든 값을 더하는 함수이고,

func_c()는 s에서 최소 값을 찾는 함수인 것을 알 수 있습니다.

 

그다음 solution() 함수를 보았습니다!

sum은 아까 확인한 함수 func_b()였고, s 대신에 scores를 넣어주면 될 것 같네요!

따라서 빈칸 1-1과 빈칸 1-2는 각각 b와 scores입니다.

 

그다음 max_score를 보면, 아까 확인한 함수 func_a()이고, s 대신에 scores를 넣어주면 될 것 같네요!

따라서 빈칸 2-1과 빈칸 2-2는 각각 a와 scores입니다.

 

마지막으로 min_score를 보면, 아까 확인한 함수 func_a()이고, s 대신에 scores를 넣어주면 될 것 같네요!

따라서 빈칸 3-1과 빈칸 3-2는 각각 c와 scores입니다.

 

이렇게 하면 solution(socres)라는 함수는, socres 배열에서 sum, max_score, min_score를 구하고,

이를 통해 모든 점수합에서 최고 점수와 최저 점수를 뺀 값을 retrun 하게 됩니다!

 

 

 


 

4. 문제 풀이 후기

이번 문제는 만들어진 함수들이 주어지고

 

이 함수들을 이용하여 새로운 함수를 생성하는 과정에서 코드 빈칸을 채우는 문제였습니다.

 

만들어진 함수들을 활용해서, 새로운 함수를 생성하는 것이다 보니

 

만들어진 함수들을 미리 파악하는 게 중요한 거 같고, 이를 이해했는지를 확인하는 것 같네요!

 

아무래도 2급이다 보니, 난이도는 정말 쉬운 것 같습니다!

 

크게 어려운 부분이 없어서 제가 따로 코멘트할 것은 없습니다!

 



이번 포스팅은 프로그래머스에 있는

 

COS Pro 2급 python 모의고사에 있는 문제를 풀어보았습니다!

 

보통은 함수를 직접 전부 만들고 원하는 값을 retrun 하는 알고리즘 문제도 많은데

 

빈칸을 채우는 게 저도 조금 생소한 것 같아요!

 

아직은 난이도가 매우 쉬운 편이지만, COS Pro 1급과 같이 난이도가 올라가면

 

해석하는 시간도 많이 소요되지 않을까 생각합니다!

 

앞으로도 COS Pro 2급 python 관련해서도 많이 포스팅하려고 합니다! 

(너무 쉬우면 빠르게 1급 문제로 넘어가려고 생각 중입니다!)

 

설명이 어려운 부분 혹은 잘 이해가 안 가는 부분

그리고 더 궁금한 내용이 있다면

언제든지 댓글로 남겨주세요!

빠르게 궁금증을 해결해 드릴게요!

공감과 댓글은 큰 힘이 됩니다!

오늘도 블로그 방문해 주시고

포스팅 읽어주셔서 감사합니다!

 

 

LIST