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 값
구조를 중첩
할 수 있으므로, 결과적으로 조건이 또 올 수 있다.