[COS PRO 2급-Python] 상담 선생님은 너무 바빠요

Sunhee·2023년 6월 30일

COS PRO - Python 2급

목록 보기
31/44

[COS PRO 2급-Python] 상담 선생님은 너무 바빠요

문제 설명

학생 10명이 상담을 받기 위해 매일 한 명씩, 순서대로 상담실을 찾아갑니다. 상담은 상담 선생님이 계실 때에만 상담을 받을 수 있습니다. 또한 한번 상담실을 방문한 학생은 다시 상담실에 찾아가지 않습니다. 성생님의 일정표가 주어질 때, 누가 상담을 받지 못했는지 알고 싶습니다. 성생님의 일정표가 주어질 때, 누가 상담을 받지 못했는지 알고 싶습니다. 일정표에는 선생님이 있는 날엔 "O"가, 없는 날엔 "X"가 표시됩니다.
예를 들어, 선생님의 일정이 ["O","X","X","O","O","O","X","O","X","X"]라면 2번, 3번, 7번, 9번, 10번의 학생은 상담을 받지 못합니다.
선생님의 일정을 담은 배열 schedule과 schedule의 길이 schedule_len이 매개변수로 주어질 때, 상담을 받지 못한 학생의 번호를 오름차순으로 정렬하여 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.


### 매개변수 설명 선생님의 일정을 담은 배열 schedule과 schedule의 길이 schedule_len이 solution함수의 매개변수로 주어집니다.
  • schedule의 원소의 "O" 또는 "X"입니다.
  • schedule_len은 항상 10입니다.



return 값 설명

상담을 받지 못한 학생들의 번호를 오름차순으로 정렬하여 return합니다.

예시



알고리즘 구상

enumerate() 함수를 사용하면 반속하는 객체의 인덱스와 해당 요소를 동시에 가져올 수 있다. 이렇게 idx는 인덱스이고 i는 해당 요소를 나타낸다.
▶ i값이 X일 때 idx+1을 하여 언제 상담을 받지 못하는 지 구하자


내가 쓴 코드!

def solution(schedule):
	answer = []
	for idx, i in enumerate(schedule):
		if i == "X":
			answer.append(idx + 1)
	return answer

느낀점

enumerate() 함수는 정말 편리한 것 같다.

0개의 댓글