1. 진료 순서 정하기
- index()함수로 원하는 값 배열 찾기
def solution(emergency):
# 1. emergency 리스트를 응급도가 높은 순서대로 내림차순 정렬합니다.
# sorted() 함수는 기본적으로 오름차순으로 정렬하지만, reverse=True를 사용하면 내림차순으로 정렬됩니다.
sorted_emergency = sorted(emergency, reverse=True)
# 2. 빈 리스트 answer를 초기화합니다.
# 이 리스트에는 각 환자가 응급도에 따라 몇 번째로 진료받게 될지를 저장할 것입니다.
answer = []
# 3. 주어진 emergency 리스트에서 각 원소를 하나씩 반복합니다.
# 각 원소는 환자의 응급도입니다.
for i in emergency:
# 4. sorted_emergency에서 i (현재 응급도)가 몇 번째로 높은지 찾습니다.
# index(i)로 해당 값을 sorted_emergency 리스트에서 찾고,
# 순위는 해당 인덱스 + 1로 설정합니다 (인덱스는 0부터 시작하므로 1을 더해줍니다).
answer.append(sorted_emergency.index(i) + 1)
# 5. 최종적으로 계산된 순위를 담고 있는 answer 리스트를 반환합니다.
return answer
2. 순서쌍의 개수
- %를 사용해 약수를 찾으면 하나씩 카운트
def solution(n):
answer = 0
for i in range(1, n+1):
if n % i == 0:
answer += 1
return answer
3. 등차수열의 특정한 항만 더하기
def solution(a, d, included):
answer = 0
list_num = []
for i in range(len(included)):
list_num.append(a+i*d)
if included[i] == True:
answer += list_num[i]
return answer
4. 주사위 게임 2
def solution(a, b, c):
answer = 0
if a == b and b == c:
answer = (a+b+c) * (a*a + b*b + c*c) * (a**3 + b**3+ c**3)
elif a == b or a == c or b == c:
answer = (a+b+c) * (a**2 + b**2 + c**2)
else:
answer = a + b + c
return answer
5. 원소들의 곱과 합
def solution(num_list):
answer = 0
sum_multiply = 1
sum_square = 0
for i in num_list:
sum_multiply *= i
sum_square +=i
if sum_multiply > sum_square**2:
answer = 0
elif sum_multiply < sum_square**2:
answer = 1
return answer
6.이어 붙인 수
def solution(num_list):
answer = 0
even_num = ''
odd_num = ''
for i in num_list:
if i % 2 == 0:
even_num += str(i)
else:
odd_num +=str(i)
answer = int(even_num) + int(odd_num)
return answer
'Python 문제 풀기' 카테고리의 다른 글
[Python 문제풀기] (3) | 2024.12.30 |
---|---|
[Python 문제 풀기] (2) | 2024.12.24 |
[Python 문제풀기 컴프리헨션] (4) | 2024.12.17 |
[Python 라이브러리로 데이터 분석하기] (1) | 2024.12.04 |
[Python 문제풀기 함수와 클래스 사용해보기] (2) | 2024.12.02 |