(6) 프로그래머스 코딩테스트 Lv1 - 파이썬
by Holly Yoon22.내적 (문제 링크)
- 문제 설명 : 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이)
def solution(a, b):
answer = 0
for i in range(len(a)):
answer += a[i]*b[i]
return answer
- lambda, zip() 쓰는 방법을 익혀보자
solution = lambda x, y : sum(a*b for a,b in zip(x,y))
23. 문자열 내림차순 정렬하기(문제 링크)
- 문제 설명 : 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
#my long 풀이
def solution(s):
result=[]
result2=[]
for i in range(len(s)):
if s[i].isupper() == False:
result.append(s[i])
else:
result2.append(s[i])
return ''.join(sorted(result, reverse=True)+sorted(result2, reverse=True))
- 이 문제를 봤을 때,, 소문자 대문자를 분리하고 각각 정렬하고 합쳐야겠다라고 생각했다.
- sorted()라는 메소드는 ASCII value를 따르기 때문에, default order는 대문자, 소문자 먼저 정렬하고 알파벳 순을 따른다고 한다;; 쏘 간단..
ef solution(s):
return ''.join(sorted(s, reverse=True))
24. 약수의 개수와 덧셈 (문제 링크)
def solution(left, right):
result = 0
for i in range(int(left),int(right)+1):
if (i**0.5==int(i**0.5)):
result -= i
else:
result += i
return result
- 내장 함수를 사용할 수도 있다.
import math
def solution(left, right):
answer = 0
for i in range(left, right + 1, 1):
sqrt = math.sqrt(i)
if int(sqrt) == sqrt:
answer -= i
else:
answer += i
return answer
25. 문자열 다루기 기본(문제 링크)
- 문제 설명 : 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
- 제한 사항 : s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
def solution(s):
if s.isdigit()==True: #숫자로 이루어져있는 문자열은 True 반환
if len(s) in (4,6):
return True
else:
return False
else:
return False
#true, false반환이니까 그냥 return값에 true조건을 적어도 됨
def alpha_string46(s):
return s.isdigit() and len(s) in (4, 6)
- isdigit() in(4,6)을 활용해서 풀 수 있다.
def alpha_string46(s):
try:
int(s)
except:
return False
return len(s) == 4 or len(s) == 6
- 다른 분이 푼 것 중에 예외처리로 푼게 인상 깊었다.. 이렇게 풀고 싶었는데,,
'Python' 카테고리의 다른 글
파이썬 복습 - Unpack/예외처리 (0) | 2023.01.08 |
---|---|
(7) 프로그래머스 코딩테스트 Lv1 - 파이썬 (0) | 2023.01.08 |
(5) 프로그래머스 코딩테스트 Lv1 - 파이썬 (0) | 2023.01.03 |
(4) 프로그래머스 코딩테스트 Lv1 - 파이썬 (0) | 2023.01.02 |
파이썬 판다스 시작하기 - 인프런 데이터리안 (0) | 2022.12.29 |
블로그의 정보
Study Log by Holly
Holly Yoon