코딩한걸음
728x90
반응형

Today I Learned

팀원과 코테 코드리뷰를 했는데 내가 몰랐던 sort함수의 사용법과

처음보는 함수가 있어서 그것에 대해 알아보았다.

 


divmod(x, y)

  • 주어진 두 개의 숫자를 나눈 몫과 나머지를 담은 (몫, 나머지) 형태의 튜플로 반환함
# 내 풀이
# 재귀함수로 3진법 > 10진법 후 리버스
def dec_to_tri_reversed(number,str_tri=''):
    if number==0: return str_tri
    return dec_to_tri_reversed(number//3,str_tri+str(number%3))

# 재귀함수로 3진법 > 10진법
def tri_to_dec(str_tri, number=0,idx=0):
    if idx==len(str_tri): return number
    return tri_to_dec(str_tri, number+(3**idx)*int(str_tri[len(str_tri)-idx-1]),idx+1)

# 제출용 함수
def solution(n):
    answer = tri_to_dec(dec_to_tri_reversed(n), number=0,idx=0)
    return answer



# 팀원의 풀이
def solution(n):
    reverse_base3 = ''
    while n > 0:
        n, r = divmod(n, 3)
        reverse_base3 += str(r)
    answer = int(reverse_base3, 3)
    return answer

 


sort(key = )

  • key 매개변수를 사용해서 리스트의 정렬 기준을 지정
  • 다양한 방법으로 key를 지정해줄 수 있다.
# 내 풀이
def solution(strings, n):
    arr = [[string[n],string] for string in strings]
    arr.sort()
    answer = [i[1] for i in arr]
    return answer
    
    
    
# 팀원의 풀이
def solution(strings, n):
    return sorted(strings, key=lambda x: (x[n], x))

이 경우 key = lamda x: (x[n], x)를 주면 strings의 각 요소가  (x[n], x)가 되고 그에 맞게 정렬된다.

 

 

 

728x90
반응형
profile

코딩한걸음

@Joonyeol_Yoon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!