티스토리 뷰
푼 문제들
n의 배수
문제
정답
def solution(num, n):
return int(num % n == 0)
조건문은 성립할 떄는 true, 아닐 때는 false값을 가지는데
bool형 데이터를 int형으로 바꾼다면.true는 1, false는 0의 값을 가지게 된다.
num이 n으로 나누어떨어진다면 1, 아니면 0을 출력한다.
공배수
문제
정답
def solution(number, n, m):
return int(number % n == 0 and number % m == 0)
and 연산자는 양쪽의 조건문이 다 성립해야 true를 반환한다.
홀짝에 따라 다른 값 반환하기
문제
정답
def solution(n):
if n % 2:
return sum(range(1, n + 1, 2)) // n이 홀수일 때
return sum([i * i for i in range(2, n + 1, 2)]) // n이 짝수일 때
n % 2 는 n이 짝수일 때 0(false)을 반환하고 n이 홀수일 때 1(true)를 반환한다.
\
range()
range(start : stop : step)
'''
range(stop): 0부터 stop-1까지의 숫자를 생성한다.
range(start, stop): start부터 stop-1까지의 숫자를 생성한다.
range(start, stop, step): start부터 stop-1까지 step의 간격으로 숫자를 생성한다.
'''
range() 함수는 일정 범위에서 연속된 정수를 생성하는 함수이다.
sum()
n = 5
print(sum(range(1, n))) # 1 + 2 + 3 + 4 = 10
print(sum(range(1, n, 2))) # 1 + 3 = 4
sum() 함수는 매개변수의 합을 출력하는 함수이다.
List Comprehension
n = 10
print([i * i for i in range(2, n + 1, 2)]) # [4, 16, 36, 64, 100]
이런 문법을 리스트 리스트 컴프리헨션 (list comprehension) 이라고 한다.
위 구문은 i의 제곱수를 담은 배열을 출한다.
조건 문자열
문제
정답
def solution(ineq, eq, n, m):
i = ineq + eq
if i == ">=":
return int(n >= m)
elif i == "<=":
return int(n <= m)
elif i == ">!":
return int(n > m)
else:
return int(n < m)
ineq와 eq를 더해 기호를 만든다.
4개의 연산자에 대한 케이스를 처리한다.
flag값에 따른 값 반환하기
문제
정답
def solution(a, b, flag):
return a + b if flag else a - b
조건 표현식을 이용해 간단하게 1줄로 처리할 수 있다.
flag값이 true이면 a + b를 false라면 a - b를 반환한다.
조건 표현식
(참일 때 실행할 코드) if (조건식) else (거짓일 때 실행할 코드)
'프로그래머스 > 파이썬' 카테고리의 다른 글
[파이썬] Day 6 조건문, 반복문 (0) | 2024.05.04 |
---|---|
[파이썬] Day 5 조건문 (1) | 2024.05.02 |
[파이썬] Day 3 연산 (0) | 2024.04.22 |
[파이썬] Day 2 출력, 연산 (0) | 2024.04.21 |
[파이썬] Day 1 출력 (0) | 2024.04.21 |