728x90
반응형
프로그래머스 코딩테스트 입문
- 문제 - 진료순서 정하기
- 풀이
def solution(emergency):
answer = []
s = sorted(emergency)
s.reverse()
for i in emergency:
answer.append(s.index(i)+1)
return answer
응급도가 높은 순으로 해야 하는데 처음에 reverse를 안 해줘서 결괏값이 반대로 나옴
문제는 제대로 읽었는데 풀면서 머리를 비워버린듯...
- 문제 - 구슬을 나누는 경우의 수
- 풀이
import math
def solution(balls, share):
answer = 1
n = math.factorial(balls)
m = math.factorial(share)
nm = math.factorial(balls-share)
answer = n/(m*nm)
return answer
팩토리얼 함수를 이용
-함수 이용하지 않고 푸는 법 생각해 보고 포스팅하기
- 문제 - A로 B 만들기
- 풀이
def solution(before, after):
answer = 0
before = sorted(before)
after = sorted(after)
if before == after:
return 1
else:
return 0
return answer
before의 순서를 바꾼다는게 'abc'는 'cba'로 뒤에서부터 출력하는거라고
아예 잘못 이해를 해서 계속 하나의 테스트만 통과됐다
정신 차리고 문제를 똑바로 읽자.....
- 문제 - 한 번만 등장한 문자
- 풀이
def solution(s):
answer = ''
for i in s:
if s.count(i) == 1:
answer += i
return ''.join(sorted(answer))
처음에 sorted(answer)로 끝내서 문자가 하나씩 흩어졌음
*공백 join 해주기
- 문제 - 이진수 더하기
- 풀이
def solution(bin1, bin2):
return bin(int(bin1,2)+int(bin2,2))[2:]
int(bin1, 2) 함수를 사용해 2진수를 10진수로 바꾼 후 bin1과 bin2를 더함
더한 값을 bin() 함수를 사용해 다시 2진수로 바꿈
바뀐 2진수를 앞에 0b가 붙어 있기 때문에 [2:]로 잘라줌
728x90
반응형
'데이터분석 > TIL' 카테고리의 다른 글
240702 TIL (0) | 2024.07.02 |
---|---|
240625 TIL (0) | 2024.06.25 |
240624 TIL (0) | 2024.06.24 |