본문 바로가기

내일배움 캠프/TIL

2023 03 22 코딩 테스트를 하면서 새로 배운것들...

 

 

절대값

abs()

절대값을 구하는 함수인 abs()이다 이것을 사용한 코드를 찾게 된 계기는 

두 정수 사이의 합이라는 문제에서 찾았는데

(abs(a-b)+1)*(a+b)//2

코드를 이용해서 답을 풀었다

sum(range(b,a+1)) if a>b else sum(range(a,b+1))

나의 코드는 range값으로 더하는 방식으로 답을 구하려고 했지만

이 경우에는 a와 b사이의 값이 길어지면 코드의 실행시간이 

매우 길어지게 된다는 이슈가있었다

그래서 절대값을 통해서 정답을 구하는것을 보고

알고리즘의 중요성에 대해서 느낄수가 있엇다

 

 

join()

'구분자'.join(리스트)

리스트가 되어있는 데이터를 구분자 안에 있는 조건을 통해서 하나의 문자열로 합치는 코드입니다.

리스트에 ['a','b','c']가 들어있을때 join 의 구분자가 ' ' 의 경우에는 'abc'로 나오게 됩니다

 

 

이것을 통해서 정수를 내림차순으로 정렬하는 문제에서

int("".join(sorted(str(n),reverse=True)))

join을 이용해서 리스트로 정렬을 역순으로 한후에 join을 통해 다시 하나의 문자열로 만든후 정수값으로 바꾸어서

해결했습니다