[プログラマー]1級練習

1742 ワード

クレーン人形遊び

def solution(board, moves):  
    basket=[]
    answer = 0
    #몇번 인덱스에서 크레인을 내릴 것인가 반복문 돌리기
    for move in moves :
        move-=1
        #board의 열을 차례대로 반복문돌리기(위 칸부터 검사)
        for row in board:
            #해당 열의 행(크레인 내리는 인덱스)이 0이 아닐때 인형을 꺼내기
            if row[move]!=0:
                #단, 바구니의 맨 위 인형을 검사해서 
                #같으면 터트리고 해당 board칸을 0으로 답에 2더하기
                if len(basket)!=0 and row[move]==basket[len(basket)-1]:
                    basket.pop()
                    row[move]=0
                    answer+=2
                    break
                #그렇지 않은 경우는 바구니에 넣어주고 해당 board칸을 0으로
                basket.append(row[move])
                row[move]=0
                break
    
    return answer

2016年

def solution(a, b):
    day=["FRI","SAT","SUN","MON","TUE","WED","THU"]
    #31일까지: 1,3,5,7,8,10,11월
    #30일까지: 4,6,9,12
    #29일까지: 2
    count=0
    answer=''
    for aa in range(1,a):
        if aa==2:
            count+=29
        #elif문 둘다 된다 
        #elif str(aa) in "135781012":
        elif aa in [1,3,5,7,8,10,12]:
            count+=31
        else :
            count+=30
    count+=b
    answer=day[(count-1)%7]
    return answer

文字列降順でソート

def solution(s):
    s = list(s)
    #answer = sorted(s, key= lambda x : -x)는 안된다.
    #아마 숫자일때 -x을 통해 역순으로 하기가 가능하지만
    #문자라서 통하지 않는 듯 하다.
    s.sort(reverse=True)
    answer = "".join(s)
    return answer

複数の認証写真