2024. 9. 15. 18:00ㆍPCCE 기출문제
https://school.programmers.co.kr/learn/courses/30/lessons/340203
문제 설명
심폐소생술은 다음과 같은 순서를 통해 실시합니다.
- 심정지 및 무호흡 확인 [check]
- 도움 및 119 신고 요청 [call]
- 가슴압박 30회 시행 [pressure]
- 인공호흡 2회 시행 [respiration]
- 가슴압박, 인공호흡 반복 [repeat]
주어진 solution 함수는 심폐소생술을 하는 방법의 순서가 담긴 문자열들이 무작위 순서로 담긴 리스트 cpr이 주어질 때 각각의 방법이 몇 번째 단계인지 순서대로 담아 return하는 함수입니다. solution 함수가 올바르게 작동하도록 빈칸을 채워 solution 함수를 완성해 주세요.
제한사항
- cpr은 다음 문자열들이 한 번씩 포함되어 있습니다.
- "check", "call", "pressure", "respiration", "repeat"
입출력 예
cpr | result |
["call", "respiration", "repeat", "check", "pressure"] | [2, 4, 5, 1, 3] |
["respiration", "repeat", "check", "pressure", "call"] | [4, 5, 1, 3, 2] |
입출력 예 설명
입출력 예 #1
- "call", "respiration", "repeat", "check", "pressure"은 각각 2, 4, 5, 1, 3 번째 순서이므로 [2, 4, 5, 1, 3]을 리턴합니다.
입출력 예 #2
- "respiration", "repeat", "check", "pressure", "call"은 각각 4, 5, 1, 3, 2 번째 순서이므로 [4, 5, 1, 3, 2]를 리턴합니다.
빈칸 채우기 문제 안내
- 빈칸 채우기는 이미 완성된 코드 중 빈칸에 알맞은 코드를 입력하는 문제 타입입니다.
- 빈칸을 제외한 기본 코드는 수정할 수 없습니다.
- 빈칸을 채우지 않을 경우, 실행 결과에 에러 메시지가 표시됩니다.
문제 코드
def solution(cpr):
answer = []
basic_order = ["check", "call", "pressure", "respiration", "repeat"]
for action in [ ]:
for i in [ ]:
if action == basic_order[i]:
answer.append([ ])
return answer
심폐소생술의 영어 단어가 주어졌을 때, 해당 단어들이 몇 번째 순서에 속하는지 구하는 문제입니다.
cpr의 모든 단어가 심폐소생술의 단어라는 조건이 있으니까 index 함수를 사용하는 방법도 되지 않았을까 싶지만, 반복문도 못 구하는 건 아니니까요.
정답 코드를 작성해보겠습니다.
def solution(cpr):
answer = []
basic_order = ["check", "call", "pressure", "respiration", "repeat"]
for action in cpr:
for i in range(len(basic_order)):
if action == basic_order[i]:
answer.append(i + 1)
return answer
1. cpr
2. range(len(basic_order))
3. i + 1
첫 번째 반복문은 반복가능한(iterable) 객체를 반복하는 방법이네요. cpr의 요소를 action이라는 이름으로 가져오겠다는 뜻입니다.
두 번째는 아랫줄에 보면 basic_order[i]라는 코드가 있습니다. 인덱스를 사용해서 요소를 가져오겠다는 뜻이므로, 모든 객체를 살펴볼 수 있도록 최대 길이인 range(len(basic_order))을 사용해줍니다.
마지막은 인덱스를 answer에 추가하는 과정인데요. 이 과정에서 (i + 1)을 사용하는 이유는 우리의 1번째가 컴퓨터의 0번째와 동일하기 때문에, 이 차이를 보정해주기 위해 1을 더해주는 것입니다.
반복문에 들어갈 요소들, 그리고 인덱스의 차이를 알면 간단히 풀 수 있는 문제입니다.
'PCCE 기출문제' 카테고리의 다른 글
[PCCE 기출문제] 7번 / 버스 (1) | 2024.09.17 |
---|---|
[PCCE 기출문제] 6번 / 물 부족 (0) | 2024.09.16 |
[PCCE 기출문제] 4번 / 병과분류 (0) | 2024.09.14 |
[PCCE 기출문제] 3번 / 수 나누기 (0) | 2024.09.13 |
[PCCE 기출문제] 2번 / 각도 합치기 (0) | 2024.09.12 |