/date 24.09.30.
- 중간 점검: 100문제 중 60문제 완료
입문 문제 포스트가 10개가 되기 전에 끝나지 않을까... 싶음
📌 1) 최댓값 만들기 (2)
https://school.programmers.co.kr/learn/courses/30/lessons/120862
def solution(numbers):
numbers.sort()
return max(numbers[0] * numbers[1], numbers[-1] * numbers[-2])
📌 2) 합성수 찾기
https://school.programmers.co.kr/learn/courses/30/lessons/120846
def solution(n):
answer = 0
for i in range(1, n+1):
divisor_count = 0
for k in range(1, i+1):
if i % k == 0:
divisor_count += 1
if divisor_count >= 3:
answer += 1
return answer
✔️ 초반에 코드를 좀 그지같이 짜긴 했지만 접근 방식은 맞아서 기분이 좋다
📌 3) 중복된 문자 제거
https://school.programmers.co.kr/learn/courses/30/lessons/120888
def solution(my_string):
s = ''
for i in my_string:
if i in s:
continue
else:
s += i
return s
✔️ 처음엔 아래처럼 코드를 짰다.
"".join(set(list(my_string)))
✔️ 그런데 이상하게 순서가 바뀌어서 테스트 케이스를 통과하지 못하는거다! (으 열받아) 알고보니 set은 중복된 원소는 제거해 주지만, 순서가 그대로 유지되지 않는다고 한다. 그래서 이 문제는 set을 사용해서는 간단하게 풀이할 수 없다.
📌 4) 모스부호 (1)
https://school.programmers.co.kr/learn/courses/30/lessons/120838
def solution(letter):
morse = {
'.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
'--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
'--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
'...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
'-.--':'y','--..':'z'
}
answer = ''
a = letter.split()
for i in a:
answer += morse[str(i)]
return answer
✔️ split("기준으로 사용할 문자") : 괄호 안 문자를 기준으로 string을 나눠준다! 비워둘 경우 공백을 기준으로 나눔
📌 5) 2차원으로 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/120842
def solution(num_list, n):
answer = []
for i in range(0, len(num_list), n):
answer.append(num_list[i:i+n])
return answer
📌 6) 팩토리얼
https://school.programmers.co.kr/learn/courses/30/lessons/120848
import math
def solution(n):
i = 1
while math.factorial(i) <= n:
i += 1
return i-1
✔️ 나만 또 math 모듈에 팩토리얼 계산 함수 있는거 모르고 하나하나 다 쓰려고 했지 에휴
📌 7) 구슬을 나누는 경우의 수
https://school.programmers.co.kr/learn/courses/30/lessons/120840
import math
def solution(balls, share):
return math.factorial(balls)/(math.factorial(balls-share)*math.factorial(share))
✔️ 서로 다른 N개 중 m개 뽑기! 고등학교 확률과 통계 잊지 않았쥬? n! / ((n-m)!*m!)이다.
✔️ math.factorial 냉큼 사용했는데 comb이라는 함수도 있단다..ㅎ 아주 간단하게 nCk등의 수식을 계산해줌(combination)
📌 8) A로 B 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/120886
def solution(before, after):
answer = 0
b = list(before)
a = list(after)
for i in after:
if b.count(i) == a.count(i):
answer += 1
if answer == len(after):
return 1
else:
return 0
✔️ 풀고 나서 보니까 그냥 sorted로 정렬해서 동일한지 봐도 될 것 같다.
📌 9) 가까운 수
https://school.programmers.co.kr/learn/courses/30/lessons/120890
def solution(array, n):
arr = []
array.sort()
for i in array:
arr.append(abs(i-n))
return array[arr.index(min(arr))]
✔️대체 언제쯤 sort()와 sorted()를 한 번에 구분해서 사용할 수 있을까..?
📌 10) 공 던지기
https://school.programmers.co.kr/learn/courses/30/lessons/120843
def solution(numbers, k):
a = 2*k-1
while len(numbers) < a:
numbers.extend(numbers)
return numbers[a-1]
✔️ Extend 관련해서 잘 정리된 블로그가 있길래 아카이빙...
https://m.blog.naver.com/wideeyed/221541104629
/*사족입니다*/
- 29문제 남았다...!!
'학습 기록 > 코딩 테스트 다짜고짜 풀어보기' 카테고리의 다른 글
[python] 코딩 테스트 입문 문제 풀기 (8) (1) | 2024.10.06 |
---|---|
[python] 코딩 테스트 입문 문제 풀기 (7) (1) | 2024.10.05 |
[python] 코딩 테스트 입문 문제 풀기 (5) (0) | 2024.09.29 |
[python] 코딩 테스트 입문 문제 풀기 (4) (2) | 2024.09.28 |
[python] 코딩 테스트 입문 문제 풀기 (3) (1) | 2024.09.27 |