본문 바로가기
데이터분석/TIL

240701 TIL

by Freely_ 2024. 7. 1.
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