프로그래머스_Python_오답노트_삼항 연산자, 리스트.append(), 연산자

HEE·2025년 4월 10일
0
post-thumbnail

1. 프로그래머스 python 코딩테스트 입문

Level 0. 조건에 맞게 수열 변환하기1

정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱합니다. 그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요.

정답 확인

for+if문

def solution(arr):
    new = []
    for i in arr:
        if i % 2 == 0 and i >= 50:
            new.append(i//2)
        elif i % 2 != 0 and i < 50:
            new.append(i*2)
        else:
            new.append(i)
    return new
  • += 와 같은 연산자는 리스트끼리만 가능함. 리스트 += 정수인 경우는 오류남.
    따라서 안전하게 new를 리스트로 하고, append를 사용하였음.

삼항 연산자

def solution(arr):
    return [i//2 if i%2==0 and i>=50 else i*2 if i%2!=0 and i<50 else i for i in arr]
  • 삼항 연산자 -> 삼항 연산자(조건 표현식)는 기본적으로 값1 if 조건 else 값2의 구조를 가지며, elif는 사용할 수 없다. 하지만 else 뒤에 다시 if 조건 else 값 구조를 중첩할 수 있으므로, 결과적으로 조건이 또 올 수 있다.
profile
ALL IS WELL

0개의 댓글