코딩,해볼까

[programmers] 입문 : 피자 나눠 먹기(1) 본문

Back/TIL

[programmers] 입문 : 피자 나눠 먹기(1)

떠굥 2023. 4. 24. 20:15

🍕🍕🍕

 

 

<< 문제풀이과정 >>

 

/ 나누기

// 몫

% 나머지

 

# 1

# 마지막줄 elif의 == True 에서 오류

def solution(n):
    answer = 0
    
    if n // 7 == 0:
        answer = 1
    elif n // 7 == 1:
        answer = 1
    elif (n % 7) == True:
        answer = (n // 7) + 1
    
    return answer

 

만약 몫이 0이라면 answer는 무조건 1

만약 몫이 1이라면 answer는 무조건 1

; 통과하지 못하는 부분들을 제외시켜봤지만 소용이 없었다.

마지막줄의  elif 는 만약 나머지가 있다면 (True 라면)  +1을 해줘라 라는 뜻이었다.

True, False를 나머지가 있고 없고로 나타낼 수 있을 것이라 생각했다.

 


 

# 2

#2 성공!

def solution(n):
    answer = 0    
    # if n // 7 == 0:
    #     answer = 1
    # elif // 7 == 1:
    #     answer = 1
    if (n % 7) > 0:
        # 나머지 0일 때를 생각하지 못했다..
        answer = (n // 7) + 1
    else:
        answer = n//7
    return answer

 

True, False로 표현했던 부분. 나머지가 있는지 없는지는 결국 나머지가 0이냐 0보다 크냐의 차이로 말할 수 있다.

그래서 나머지가 0보다 크다면 나머지가 존재하므로 + 1을 시켜주고, 나머지는 모두 그대로 값을 구한다.

 


 

# 3

def solution(n):
    answer = 0

    if n % 7:
        answer = n // 7 + 1
    else:
        answer = n // 7
        
    return answer

 

# 2 에서 > 0 을 빼도 내가 원하는 결과가 나온다. (값이 있다의 True)

 

 


 

배운 것

나누기는 더하기보다 먼저 계산된다. 그러므로 괄호가 필요 없다.

열명당 서비스 하나 //10 하면 되는데..

 

Math 는 파이썬 내장 함수

+ Ceil 천장 = 올림

- Floor 바닥 = 버림

Round() = 반올림 (내장함수인데 import 하지 않아도 쓸 수 있다.)

Round( ,2) = 소수점 2번째 까지 나옴

 

 

 

Comments