숫자끼리 비교하면 연산자에 따른 연산을 통해 바로 결과가 나오지만 문자열 비교는 문자들을 해당하는 유니코드(or 아스키코드) 값에 따라 비교한다.
그렇기 떄문에 직접적인 문자열 비교는 항상 올바른 결과가 나오지 않을 수 있고 결국 숫자로 변환해 비교해야하는데 이 과정 때문에 시간이 더 걸려 문자끼리 비교하는 연산이 불리하다.
print('10' < '2') # True
print(int('10') < int('2')) # False
print(10 < 2) # False
정렬도 제대로 안된다.
numbers_as_str = ['10', '5', '20', '3', '16']
numbers_as_str.sort()
print(numbers_as_str) # ['10', '16', '20', '3', '5']
numbers_as_int = [10, 5, 20, 3, 16]
numbers_as_int.sort()
print(numbers_as_int) # [3, 5, 10, 16, 20]
def deleteDuplicate(arr):
for_check = []
for item in arr:
if not item in for_check:
for_check.append(item)
return for_check
def cheating(arr):
return list(dict.fromkeys(arr))
print(deleteDuplicate([0,0,0,1,1,1,1,1,15,16,19,18,15,15,15]))
print(cheating([0,0,0,1,1,1,1,1,15,16,19,18,15,15,15]))
결과
[0, 1, 15, 16, 19, 18]
[0, 1, 15, 16, 19, 18]
제출 기한 : 1번, 2번 내일 11시, 3번 내일 강의 끝나기 전까지 완료
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스 완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성 되었습니다.
#정보통신산업진흥원 #NIPA #AI교육 #프로젝트 #유데미 #IT개발캠프 #개발자부트캠프 #프론트엔드 #백엔드 #AI웹개발취업캠프 #취업캠프 #개발취업캠프