코딩습관들이기 2일차

DevOps Engineer·2023년 3월 13일
0

기초적인 부분이 약해서 학습을 따로 진행하고 있다.
알고리즘, 자료구조를 요구하는 코딩테스트를 잘 하고 싶다는 욕심이 생겼다.

두 수의 나눗셈

import math
def solution(num1, num2):
    answer = (num1/num2)*1000
    return math.floor(answer)

소숫점 부분을 날리고 정수부분만 요구하는 문제였는데 math 메소드를 추가하여 floor로 정수처리를 했다. 다른 풀이를 참고해보니

def solution(num1, num2):
	return int(num1/num2*1000)

아래의 경우 int로 정수부분을 출력하게 하고 지역변수를 사용하지않고 자원을 아끼는 코드를 작성해서 참고했다.

그리고 정수를 살릴 때 floor와 trunc의 차이점은 음수의 반올림에서 차이가 났다
trunc같은 경우 소숫점만 버리고 그 숫자를 남기며 floor같은 경우 반올림하여 정수를 남겼다.

import math

x = math.floor(-2.54)
y = math.floor(-3.1235)
print(x)
print(y)

x = math.trunc(-2.54)
y = math.trunc(-3.1235)
print(x)
print(y)
//OutPut
-3
-4
-2
-3

참고사이트
https://codechacha.com/ko/python-remove-numbers-under-decimal-point/

조건문 사용

def solution(num1, num2):
    answer = 0
    if num1==num2:
        answer = 1
    if num1!=num2:
        answer = -1
    return answer

처음에는 위와같이 if를 두번 사용하여 작성을 해봤다.
처음 배운 코드작성법이 js다 보니 if(num1===num2) 형태로 작성했는데 찾아보니 간단하게 :로 구별할 수 있었다.

def solution(num1, num2):
    answer = 0
    if num1==num2:
        answer = 1
    else:
        answer = -1
    return answer

else로도 동작하는 걸 확인할 수 있었다. 아직은 미숙하지만 차츰차츰 익혀나가는 중이다.

참고사이트
https://www.youtube.com/@jejucodingcamp

profile
madame의 Techblog

0개의 댓글