2022.07.01
프로그래머스 Lv.1 쉬운 문제들 피드백 모음 (3)
'문자열 내 p와 y의 개수' 문제
나의 답안
def solution(s):
compare = 0
for i in s:
if i in ['p', 'P']:
compare += 1
elif i in ['y', 'Y']:
compare -= 1
if compare == 0:
return True
else:
return False
모범 답안
def solution(s):
return s.lower().count('p') == s.lower().count('y')
'문자열 내림차순으로 배치하기' 문제
나의 답안
def solution(s):
low, up, answer = [], [], ''
for i in s:
if i.islower():
low.append(i)
else:
up.append(i)
for i in sorted(up):
answer = i + answer
for i in sorted(low):
answer = i + answer
return answer
모범 답안
def solution(s):
return ''.join(sorted(s, reverse=True))
- ' '.join( x ) : list인 x를 ' '로 구문하여 string으로 만들어서 return해줌. (ex. '--'.join([ 'a', 'b', 'c' ]) = 'a--b--c')
- s.sort(reverse=True) : list인 s를 반대로 정렬
- sorted(s, reverse=True) : list인 s를 반대로 정렬해서 return해줌.
'서울에서 김서방 찾기' 문제
나의 답안
def solution(seoul):
for i, j in enumerate(seoul):
if j == 'Kim':
return '김서방은 ' + str(i) + '에 있다'
모범 답안
def solution(seoul):
return '김서방은 {}에 있다'.format(seoul.index('Kim'))
- x.index( 'a' ) : list인 x에서 a의 index를 찾아 return해줌.
'최대공약수와 최소공배수' 문제
나의 답안
def solution(n, m):
if n == m:
return [n, n]
if n > m:
n, m = m, n
answer = []
for i in range(n, 0, -1):
if n % i == 0 and m % i == 0:
answer.append(i)
break
check = 1
while (True):
if (m * check) % n == 0:
return answer + [m * check]
else:
check += 1
return answer
모범 답안
def solution(n, m):
a, b = min(n, m), max(n, m)
t = 1
while t > 0:
t = b % a
b, a = a, t
return [b, int(n*m/b)]
수학적 지식을 이용한 간결한 코드이다.
'행렬의 덧셈' 문제
나의 답안
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
new = []
for j in range(len(arr1[0])):
new.append(arr1[i][j] + arr2[i][j])
answer.append(new)
return answer
모범 답안 (1)
def solution(arr1, arr2):
answer = [[c + d for c, d in zip(a, b)] for a, b in zip(arr1, arr2)]
return answer
모범 답안 (2)
def solution(arr1, arr2):
for i in range(len(arr1)) :
for j in range(len(arr1[0])):
arr1[i][j] += arr2[i][j]
return arr1
리스트를 새로 만들지 않고 arr1에 arr2를 추가하였다.
'코딩테스트' 카테고리의 다른 글
[코딩테스트, Python] 프로그래머스 Lv.1 쉬운 문제들 피드백 모음 (2) (0) | 2022.06.27 |
---|---|
[코딩테스트, Python] 프로그래머스 Lv.1 쉬운 문제들 피드백 모음 (1) (0) | 2022.06.26 |
[코딩테스트, Python] 프로그래머스 '소수 만들기' 문제 피드백 (0) | 2022.06.25 |
[코딩테스트, Python] 프로그래머스 '완주하지 못한 선수' 문제 피드백 (Feat. Hash Table) (0) | 2022.06.24 |
[코딩테스트, Python] 프로그래머스 '신규 아이디 추천' 문제 피드백 (0) | 2022.06.24 |