본문 바로가기
프로그래머스/1단계

(Python/LV1)푸드 파이트 대회

by windy7271 2022. 11. 4.
728x90
반응형

문제 출처:https://school.programmers.co.kr/learn/courses/30/lessons/134240

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이:

 

def solution(food):
    list =[food[i]//2 for i in range(1, len(food))]

두 명에서 하는거니깐 두 명의 몫 만큼 남겨둔다.

 

 

 

res = ''
for number, remainder in enumerate(list,start=1):
    if remainder == 0:
        pass
    else:
        res += str(number) * remainder
        
 print(solution([1, 3, 4, 6])) 예시로 하면       
 res = 122333

enumerate 를 사용하여  enumerate 는 0 부터 나오는데 start = 1로 설정하므로 1부터 시작한다.

만약 ramainder == 0  만약 1이 2개미만이면  두 명에서 못 먹으니깐 안됨  pass 

그 외는 

앞에 1 부터 증가하는 숫자를 str 로 바꾸고 갯수만큼 곱해줌

 

return res + '0' + res[::-1]

 0 추고 하고 res 뒤에서부터 reverse 하면 된다.

def solution(food):
    list =[food[i]//2 for i in range(1, len(food))]

    res = ''
    for number, remainder in enumerate(list,start=1):
        print(number,remainder)
        if remainder == 0:
            pass
        else:
            res += str(number) * remainder
    print(res)
    return res + '0' + res[::-1]

 

반응형

댓글