Day4
- n의 배수
- 공배수
- 홀짝에 따라 다른 값 반환하기
- 조건 문자열
- flag에 따라 다른 값 반환하기
n의 배수
문제 설명
정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.
def solution(num, n):
return 1 if num % n == 0 else 0
나이쓰
def solution(num, n):
return int(num % n == 0)
다른 사람 풀이 : true => 1, false => 0 을 활용해서 이렇게 풀 수도 있군
공배수
문제 설명
정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.
def solution(num, n, m):
return 1 if num % n == 0 and num % m == 0 else 0
def solution(number, n, m):
return int(bool(number % n == 0) & bool(number % m == 0))
다른 사람 풀이 :
bool - true/false >> int - 1,0 출력
oh... damn~~~~
홀짝에 따라 다른 값 반환하기
문제 설명
양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.
def solution(n):
res = 0
if n%2==1:
for i in range (1, n+1, 2):
res += i
else:
for i in range(2, n+1, 2):
res += i*i
return res
정답이지만 제 코드는 상당히 기네요. 뭔가 짧고 신박한 다른 사람 풀이 보면 킹받음
def solution(n):
if n%2:
return sum(range(1,n+1,2))
return sum([i*i for i in range(2,n+1,2)]
다른 사람 풀이 :
[i*i for in range(2, n+1, 2)] > 리스트 컴프리헨션 표현식
조건 문자열
문제 설명
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.두 수가 n과 m이라면">", "=" : n >= m"<", "=" : n <= m">", "!" : n > m"<", "!" : n < m두 문자열 ineq와 eq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.
def solution(ineq, eq, n, m):
res = 0
if eq == "=":
cal = ineq + eq
if cal == ">=":
res = int(bool(n >= m))
elif cal =="<=":
res = int(bool(n <= m))
else:
cal = ineq
if cal == ">":
res = int(bool(n > m))
elif cal =="<":
res = int(bool(n < m))
return res
제 코드ㅡㅡ 너무우 길어요
def solution(ineq, eq, n, m):
return int(eval(str(n)+ineq+eq.replace('!', '')+str(m)))
다른 사람 풀이 :
1. 느낌표를 공백으로 대체
2. n과 m을 문자열로 변환하여 ineq와 eq 문자열과 함께 문자열을 생성
3. eval함수로 문자열을 평가하여 비교식 실행
4. 정수로 변환하여 최종 결과 반환 ( True는 1로, False는 0으로)
eval
문자열을 파이썬 코드로 해석하고 실행함.
단일 표현식을 평가하는 데 사용되며, 표현식은 변수, 연산자, 함수 호출 등이 포함될 수 있다.
replace('!', ' ')
특정 부분 문자열을 다른 문자열로 대체하는 데 사용됩니다.
replace('!', ' ')는 문자열에서 모든 느낌표(!)를 공백으로 대체하는 것을 의미
flag에 따라 다른 값 반환하기
문제 설명
두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.
def solution(a, b, flag):
return a + b if flag else a - b
야호 오늘도 해냈다
'코테' 카테고리의 다른 글
프로그래머스 기초문제 Day8 조건문, 문자 (2) | 2024.01.08 |
---|---|
프로그래머스 기초문제 Day7 반복문 (1) | 2024.01.07 |
프로그래머스 기초문제 Day6 조건문, 반복문 (1) | 2024.01.06 |
프로그래머스 기초문제 Day5 조건문 (1) | 2024.01.05 |
프로그래머스 기초문제 Day3 연산 (1) | 2024.01.03 |