상세 컨텐츠

본문 제목

COS Pro 2급 C 모의고사 - 파트1. 빈 칸 채우기 풀이

미분류

by cepiloth 2018. 3. 11. 13:44

본문

728x90
반응형

  • 2018-03-11
    • 프로그래머스에 새로 생겼길래 풀어 봄.
    • COS Pro (Professional Coding Specialist)란? 
      •  프로그램 설계 및 이해, 프로그램 구현, 프로그램 검사 및 수정 능력을 검정하는 자격증입니다. COS Pro로 본인의 프로그래밍 활용능력이 어느 정도인지를 증명할 수 있습니다. 
      •  현재 Python, C, C++, Java 언어 사용 가능
    • 프로그래머스 LEVEL 1 이하 수준 정도, 대학교 1학년 C언어 처음 배울때 레포트 하는 정도의 난이도로 느껴짐.


  • 빈 칸 채우기 - [YBM] n 부터 m 까지 자연수의 합

두 자연수 n부터 m까지의 합을 구하려고 합니다. 이를 위해 다음과 같이 3단계로 간단히 프로그램 구조를 작성했습니다.


1. 1부터 m까지의 합을 구합니다.

2. 1부터 n-1까지의 합을 구합니다.

3. 1단계에서 구한 값에서 2단계에서 구한 값을 뺍니다.

두 자연수 n과 m이 매개변수로 주어질 때, n부터 m 까지의 합을 return 하도록 solution 함수를 작성했습니다. 이때, 위 구조를 참고하여 중복되는 부분은 func_a라는 함수로 작성했습니다. 코드가 올바르게 동작할 수 있도록 빈칸을 알맞게 채워주세요.


매개변수 설명

두 자연수 n과 m이 solution 함수의 매개변수로 주어집니다.


n, m은 1 이상 10,000 이하의 자연수이며, 항상 n ≤ m 을 만족합니다.

return 값 설명

solution 함수는 n부터 m까지의 합을 return 합니다.


예시

n m return

5 10 45

6 6 6

예시 설명

예시 #1

5부터 10까지 자연수의 합은 45입니다.


예시 #2

6부터 6까지 자연수의 합은 6입니다.




  • 빈 칸 채우기 - [YBM] 총점

한 학생의 과목별 점수가 들어있는 배열이 주어졌을 때, 이 학생의 최고 점수와 최저 점수를 제외한 나머지 점수들의 합계를 구하려 합니다. 이를 위해 다음과 같이 4단계로 프로그램 구조를 작성했습니다.


1. 모든 과목 점수의 합을 구합니다.

2. 최고 점수를 구합니다.

3. 최저 점수를 구합니다.

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

학생의 과목별 점수가 들어있는 배열 scores와 scores의 길이 scores_len이 매개변수로 주어질 때, 학생의 과목별 점수에서 최고 점수와 최저 점수를 제외한 나머지 점수의 합을 return 하도록 solution 함수를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 func_a, func_b, func_c 함수를 알맞게 채워주세요.


매개변수 설명

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


scores의 길이 scores_len은 3 이상 10 이하의 자연수입니다.

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


return 값 설명

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


예시

scores scores_len return

{50, 35, 78, 91, 85} 5 213


예시 설명

예시 #1

가장 높은 점수 : 91점

가장 낮은 점수 : 35점

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



  • 빈 칸 채우기 - [YBM] 공항 방문객

문제 설명

XX 공항에서 n일 동안 매일 공항 방문객 수를 조사했습니다. 이때, 가장 많은 방문객 수와 두 번째로 많은 방문객 수의 차이를 구하려고 합니다. 단, 방문객의 수가 같은 날은 없다고 가정합니다. 이를 위해 다음과 같이 4단계로 간단히 프로그램 구조를 작성했습니다.


1. 입력으로 주어진 배열에서 가장 많은 방문객 수를 찾습니다.

2. 1번 단계에서 찾은 값을 제외하고, 나머지 값들로 이루어진 새로운 배열을 만듭니다.

3. 2번 단계에서 만든 새로운 배열에서 가장 큰 방문객의 수를 찾습니다.

4. 1번 단계와 3번 단계에서 구한 값의 차이를 구합니다.

n일 동안의 방문객 수가 들어있는 배열 visitor와 visitor의 길이 n이 매개변수로 주어질 때, 가장 많은 방문객 수와 두 번째로 많은 방문객 수의 차이를 return 하도록 solution 함수를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 func_a, func_b, func_c 함수를 알맞게 채워주세요.


매개변수 설명

n 일 동안의 방문객 수가 들어있는 배열 visitor와 visitor의 길이 n이 solution 함수의 매개변수로 주어집니다.


visitor 는 n일 동안의 공항 방문객 수가 들어있는 배열입니다.

visitor 의 길이 n은 1 이상 100 이하의 자연수이며, 각 요소는 1 이상 200,000이하의 자연수입니다.

visitor에는 같은 숫자가 중복해서 들어있지 않습니다.

return 값 설명

solution 함수는 가장 많은 방문객 수와 두 번째로 많은 방문객 수의 차이를 return 합니다.


예시

visitor n return

{4, 7, 2, 9, 3} 5 2


예시 설명

예시 #1

5일 동안의 공항 방문객 수는 순서대로 {4명, 7명, 2명, 9명, 3명}입니다.

가장 많은 방문객이 방문한 날은 넷째 날로 총 9명이 방문했습니다.

두 번째로 많은 방문객이 방문한 날은 둘째 날로 총 7명이 방문했습니다.

따라서 가장 많은 방문객 수와 두 번째로 많은 방문객 수의 차이는 2입니다.



  • 빈 칸 채우기 - [YBM]학점 계산


문제 설명

XX 학교에서는 다음과 같이 학생들의 점수에 따라 학점을 부여합니다.


85점 ~ 100점 : A 학점

70점 ~ 84점 : B 학점

55점 ~ 69점 : C 학점

40점 ~ 54점 : D 학점

0점 ~ 39점 : F 학점

학생들의 점수가 들어있는 배열 scores와 scores의 길이 scores_len이 매개변수로 주어질 때, A 학점, B 학점, C 학점, D 학점, F 학점을 받은 학생들의 수를 배열에 순서대로 담아 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.


매개변수 설명

학생들의 점수가 들어있는 배열 scores와 scores의 길이 scores_len이 solution 함수의 매개변수로 주어집니다.

scores의 길이 scores_len은 1 이상 200 이하의 자연수입니다.

학생들의 점수는 0 점 이상 100점 이하의 정수입니다.


return 값 설명

solution 함수는 {A 학점 학생 수, B 학점 학생 수, C 학점 학생 수, D 학점 학생 수, F 학점 학생 수} 를 순서대로 배열에 담아 return 합니다.


예시

scores scores_len return

{86, 72, 98, 60, 45} 5 {2,1,1,1,0}


예시 설명

예시 #1

주어진 학생들의 점수는 다음과 같이 학점을 받습니다.


A 학점 : {86점, 98점} 2명

B 학점 : {72점} 1명

C 학점 : {60점} 1명

D 학점 : {45점} 1명

F 학점 : 0 명

따라서 {2, 1, 1, 1, 0} 을 return 하면 됩니다.



  • 빈 칸 채우기 - [YBM]개구리


문제 설명

개구리가 일정한 간격으로 일렬로 놓여있는 징검다리를 건너려고 합니다.

징검다리에는 자연수가 적혀있으며, 개구리는 자신이 밟고 있는 징검다리에 적혀있는 숫자만큼 앞쪽으로 점프해야 합니다. 개구리는 현재 첫 번째 징검다리 위에 앉아있습니다.

징검다리에 적혀있는 숫자가 첫 번째부터 순서대로 들어있는 배열 stones와 stones의 길이 stones_len이 매개변수로 주어질 때, 개구리가 징검다리를 모두 건너기 위해 필요한 점프 횟수를 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.


매개변수 설명

징검다리에 적힌 숫자가 첫 번째 징검다리부터 순서대로 들어있는 배열 stones와 stones의 길이 stones_len이 solution 함수의 매개변수로 주어집니다.


stones 배열의 길이 stones_len은 1 이상 100 이하의 자연수입니다.

stones의 각 요소(돌에 적혀있는 숫자)는 1 이상 5 이하의 자연수입니다.

return값 설명

solution 함수는 개구리가 징검다리를 모두 건너기 위해 필요한 점프 횟수를 return 합니다.


예시

stones stones_len return

{2, 5, 1, 3, 2, 1} 6 3


예시 설명

예시 #1

6개의 징검다리에 순서대로 {2, 5, 1, 3, 2, 1}이 적혀있는 경우의 예시입니다.

위 그림에서 처음에 개구리는 가장 왼쪽에 있는 첫 번째 징검다리에 앉아있습니다.

첫 번째 징검다리에 2가 적혀있으므로 두 칸을 점프하여 세 번째 징검다리로 이동합니다.

세 번째 징검다리에는 1이 적혀 있으므로 한 칸을 점프하여 네 번째 징검다리로 이동합니다.

네 번째 징검다리에는 3이 적혀 있으므로 3칸을 점프하여 모든 징검다리를 건너게 됩니다.

위 예시에서 개구리는 총 3번 점프하여 모든 징검다리를 건넜습니다.



728x90
반응형

관련글 더보기

댓글 영역