코딩테스트

[25.12.05 코테(Python)]-원소들의 곱과 합&가운데 글자 가져오기

지니248 2025. 12. 5. 12:00

Lv0. 원소들의 곱과 합 (Python)

링크: 코딩테스트 연습 - 원소들의 곱과 합 | 프로그래머스 스쿨

 

내가 작성한 코드

def solution(num_list):
    answer = 1
    for n in num_list:
        answer = answer * n
        
    s = sum(num_list)
    sum_square = s * s
    
    if answer < sum_square:
        return 1
    else:
        return 0

 

새로 배운 코드

def solution(num_list):
    answer = 1  # 리스트 원소들의 곱을 저장할 변수
    for n in num_list:
        answer *= n  # 원소들을 차례대로 곱함
    return int(answer < sum(num_list) ** 2)

# 모든 원소들의 합을 제곱한 값이 answer보다 크면 1을, 작으면 0 반환

Lv1. 가운데 글자 가져오기 (Python)

링크: 코딩테스트 연습 - 가운데 글자 가져오기 | 프로그래머스 스쿨

 

내가 작성한 코드

def solution(s):
    n = len(s)
    if n % 2 == 1: #홀수
        return s[n//2]
    else: #짝수
        return s[n//2-1 : n//2 + 1]

 

새로 배운 코드

def solution(str):
    return str[(len(str)-1)//2 : len(str)//2 + 1]

# (len(str)-1)//2 :
# 문자열 길이가 홀수면 가운데 인덱스가 되고
# 짝수면 가운데 두 글자 중 왼쪽 글자의 인덱스가 됨
# 짝수일 때 시작점을 왼쪽으로 맞추기 위해 -1을 해줌

# len(str)//2 + 1
# 파이썬 슬라이싱은 끝 인덱스를 포함하지 않음. 따라서 +1
# 홀수면 가운데 글자 1개, 짝수면 가운데 2개가 잘려나가도록 끝 인덱스를 +1