/date 24.09.26.
📌 1) 분수의 덧셈
https://school.programmers.co.kr/learn/courses/30/lessons/120808
import math
def solution(numer1, denom1, numer2, denom2):
numer3 = numer1*denom2 + numer2*denom1
denom3 = denom1*denom2
k = math.gcd(numer3, denom3)
answer = []
answer.append(numer3/k)
answer.append(denom3/k)
return answer
✔️ 통분해서 분자, 분모를 구해둔 다음 최대공약수로 각각을 나누었다.
✔️ 최대공약수를 구하는 식을 어떻게 코드로 구현할 것인가 고민을 많이 하다가 결국엔 구글링을 했는데 파이썬에는 math라는 기본 내장 모듈이 있다고 한다. gcd를 활용하면 괄호 안 숫자들의 최대공약수를 자동으로 구해준다.
✔️ append를 활용해서 answer 배열에 값을 넣어주었는데, 그러다 보니 코드를 두 줄 작성하게 되었다. extend를 활용하면 한 번에 작성할 수 있었다.
📌 2) 양꼬치
tmi 양꼬치 좋아함
https://school.programmers.co.kr/learn/courses/30/lessons/120830
def solution(n, k):
answer = n*12000 + k*2000 - n//10*2000
return answer
✔️EZ했죠?
📌 3) 문자열 뒤집기
https://school.programmers.co.kr/learn/courses/30/lessons/120822
def solution(my_string):
return my_string[::-1]
✔️ 슬라이싱Slicing: [start:end:step] 순으로 표기. start는 슬라이싱을 시작할 인덱스로, 생략하면 처음부터 시작된다. end는 슬라이싱을 끝낼 인덱스로, 생략하면 끝까지 포함된다. step은 슬라이싱을 할 때의 간격으로, 양수면 앞으로 이동하고 음수면 뒤로 이동한다. 여기서는 [::-1]로 start와 end의 인덱스를 생략하였으므로 전체 string을 대상으로 하고, -1 step이므로 역순으로 가져온다.
(꼼수만 늘어간다)
📌 4) 짝수 홀수 개수
https://school.programmers.co.kr/learn/courses/30/lessons/120824
def solution(num_list):
a = 0
b = 0
answer = []
for num in num_list:
if num%2 == 1:
a += 1
else:
b +=1
answer.extend([b, a])
return answer
✔️ 알못인 내가 봐도 최선의 풀이는 아니라서 찾아본 다른 사람 풀이.. 입이 떡 벌어짐
📌 5) 짝수는 싫어요
https://school.programmers.co.kr/learn/courses/30/lessons/120813
def solution(n):
answer = []
if n%2 == 0:
n -=1
while n > 0:
answer.append(n)
n -= 2
else:
while n > 0:
answer.append(n)
n -= 2
answer.sort()
return answer
점점 감이 잡힌다..!
'학습 기록 > 코딩 테스트 다짜고짜 풀어보기' 카테고리의 다른 글
[python] 코딩 테스트 입문 문제 풀기 (6) (2) | 2024.09.30 |
---|---|
[python] 코딩 테스트 입문 문제 풀기 (5) (0) | 2024.09.29 |
[python] 코딩 테스트 입문 문제 풀기 (4) (2) | 2024.09.28 |
[python] 코딩 테스트 입문 문제 풀기 (3) (1) | 2024.09.27 |
[python] 코딩테스트 입문 문제 풀기 (1) (2) | 2024.09.25 |