티스토리 뷰
728x90
[ 코딩 테스트 연습 ]
41. 정수 부분
- 실수 flo가 매개 변수로 주어질 때, flo의 정수 부분을 return하도록 solution 함수를 완성해주세요.
- 제한사항
- 0 ≤ flo ≤ 100
- 내가 푼 풀이
def solution(flo):
return int(flo)
print(solution(69.32))
# 출력 : 69
- 다른 사람의 풀이
def solution(flo):
return flo//1
42. n의 배수
- 정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.
- 제한사항
- 2 ≤ num ≤ 100
- 2 ≤ n ≤ 9
- 내가 푼 풀이
def solution(num, n):
if num % n == 0:
return 1
else:
return 0
print(solution(98, 2))
# 출력 : 1
- 다른 사람의 풀이
def solution(num, n):
return int(not(num % n))
def solution(num, n):
return int(num % n == 0)
def solution(num, n):
return 1 if num % n == 0 else 0
43. 문자열의 앞의 n글
- 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.
- 제한사항
- my_string은 숫자와 알파벳으로 이루어져 있습니다.
- 1 ≤ my_string의 길이 ≤ 1,000
- 1 ≤ n ≤ my_string의 길이
- 내가 푼 풀이
def solution(my_string, n):
return my_string[:n]
print(solution("ProgrammerS123", 11))
# 출력 : ProgrammerS
- 다른 사람의 풀이
solution = lambda a,b : a[0:b]
def solution(my_string, n):
return ''.join(list(my_string)[:n])
44. 이어 붙인 수
- 정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.
- 제한사항
- 2 ≤ num_list의 길이 ≤ 10
- 1 ≤ num_list의 원소 ≤ 9
- num_list에는 적어도 한 개씩의 짝수와 홀수가 있습니다.
- 내가 푼 풀이
def solution(num_list):
odd_sum = ""
even_sum = ""
for num in num_list:
if num % 2 == 0: # 짝수인 경우
even_sum += str(num)
else: # 홀수인 경우
odd_sum += str(num)
return int(odd_sum) + int(even_sum)
print(solution([3,4,5,2,1]))
# 출력 : 393
- 다른 사람의 풀이
def solution(num_list):
even=int(''.join([str(i) for i in num_list if i % 2 == 0]))
odd=int(''.join([str(i) for i in num_list if not i % 2 == 0]))
return even+odd
45. flag 에 따라 다른 값 반환하기
- 두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.
- 제한사항 : -1,000 ≤ a, b ≤ 1,000
- 내가 푼 풀이
def solution(a, b, flag):
if flag:
return a + b
else:
return a - b
print(solution(-4, 7, False))
# 출력 : -11
- 다른 사람의 풀이
solution=lambda a,b,f:[a-b,a+b][f]
46. 길이에 따른 연산
- 정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.
- 제한사항 :
- 2 ≤ num_list의 길이 ≤ 20
- 1 ≤ num_list의 원소 ≤ 9
- num_list의 원소를 모두 곱했을 때 2,147,483,647를 넘는 입력은 주어지지 않습니다.
- 내가 푼 풀이
def solution(num_list):
if len(num_list) >= 11:
return sum(num_list)
else:
result = 1
for num in num_list:
result *= num
return result
print(solution([3, 4, 5, 2, 5, 4, 6, 7, 3, 7, 2, 2, 1]))
# 출력 : 51
- 다른 사람의 풀이
def solution(num_list):
if len(num_list) >= 11:
return eval('+'.join(list(map(str, num_list))))
else:
return eval('*'.join(list(map(str, num_list))))
47. 소문자로 바꾸기
- 알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
- 제한사항 :
- 1 ≤ myString의 길이 ≤ 100,000 (myString은 알파벳으로 이루어진 문자열입니다.)
- 내가 푼 풀이
def solution(myString):
return myString.lower() # lower()는 문자열을 모두 소문자로 변환하는 파이썬의 내장 메서드
print(solution("aBcDeFg"))
# 출력 : abcdefg
- 다른 사람의 풀이
solution=lambda x:x.lower()
48. 원소들의 곱과 합
- 정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.
- 제한사항 :
- 2 ≤ num_list의 길이 ≤ 10
- 1 ≤ num_list의 원소 ≤ 9
- 내가 푼 풀이
def solution(num_list):
a = 1 # a 는 모든 원소의 곱
b = 0 # b 는 모든 원소의 합의 제곱
for num in num_list:
a *= num
b += num
if a < b ** 2 :
return 1
else:
return 0
print(solution([5,7,8,3]))
# 출력 : 0
- 다른 사람의 풀이
def solution(num_list):
s=sum(num_list)**2
m=eval('*'.join([str(n) for n in num_list]))
return 1 if s>m else 0
- eval() 함수는 문자열로 표현된 파이썬 표현식을 실행하여 그 결과를 반환하는 파이썬 내장 함수입니다. 예를 들어, "2 + 3"이라는 문자열을 eval() 함수에 전달하면 이 문자열이 파이썬 표현식으로 해석되어 계산이 이루어지고, 결과로 5가 반환됩니다. 위의 m=eval('*'.join([str(n) for n in num_list])) 를 해석하면 n의 num_list를 문자로 바꿔서 그 안에 *를 넣어 곱하기로 문자열 함수를 만들어서 쓴다.
49. 문자열 곱하기
- 문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.
- 제한사항 :
- 1 ≤ my_string의 길이 ≤ 100
- my_string은 영소문자로만 이루어져 있습니다.
- 1 ≤ k ≤ 100
- 내가 푼 풀이
def solution(my_string, k):
return my_string * k
print(solution("string", 3))
# 출력 : stringstringstring
- 다른 사람의 풀이
solution = lambda my_string, k: ''.join([my_string * k])
50. 공배수
- 정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.
- 제한사항 :
- 10 ≤ number ≤ 100
- 2 ≤ n, m < 10
- 내가 푼 풀이
def solution(number, n, m):
if number % n == 0 and number % m == 0:
return 1
else:
return 0
print(solution(60,2,3))
# 출력 : 1
- 다른 사람의 풀이
def solution(number, n, m):
return 1 if number%n==0 and number%m==0 else 0
반응형
'AI웹 개발자 과정 공부 (팀스파르타) > 코딩테스트 연습' 카테고리의 다른 글
24.03.13_TIL (알고리즘 예제 56-60) (0) | 2024.03.13 |
---|---|
24.03.12_TIL (알고리즘 예제 51-55) (0) | 2024.03.12 |
24.03.07_TIL (알고리즘 예제 31-40) (0) | 2024.03.07 |
24.03.06_TIL (알고리즘 예제 21-30) (0) | 2024.03.06 |
24.03.05_TIL (알고리즘 예제 11-20) (0) | 2024.03.05 |