프로그래밍

내장함수로 해결할수 있다면 그것을 사용하자!

열심히 자바스크립트를 공부하는 개붕이는 배열에 있는 가장 작은수를 찾아내는 함수를 for문을 이용해 만들다 문득 생각하게 된다.

 

"내장함수가 있다면 내장함수를 쓰는게 더 좋지않을까?"

 

내장함수만 쓰면 복잡한 코드를짤떄 기능적 로직적으로 원하는 정확한 결과값을 내는게 힘들수도  있으니 직접 코드를 짜는것이 확실한게 아닐까 싶으면서도

 

for에 for을 얹으면 연산이 너무 느려지진 않을까?? 좌우지간 궁금해 졌다....

 

 

스크린샷 2024-02-10 오후 9.27.13.png

 

일단 1000개의 랜덤 배열을 생성해주는 함수를 뚝딱!

 

 

스크린샷 2024-02-10 오후 9.27.21.png

 

배열중 가장 작은 숫자를 찾아주는 Math.min 을 사용한 함수 뚝딱

 

 

스크린샷 2024-02-10 오후 9.27.17.png

 

for문으로 만든 함수 뚝딱!

 

스크린샷 2024-02-10 오후 9.33.13.png

 

둘다 각각 10번을 돌려서 각각 연산에 걸린 시간의 평균값을 구해봤다

 

결과는 

 

 

for문은 1번 돌릴때 평균 2.73ms 소요

Math.min 은  0.06ms 소요....

 

생각했던것 보다 엄청난 차이가 났다..

 

아주 간단한 코드가 이정도라면 복잡한 코드에서는 더더욱 느려질수 있겠다는 생각을 했다.

 

1만개 10만개 가 되는 자료를 다뤄야 하는 코드를 짤경우 최적화가 무엇보다 중요하겠다는 생각이 들었따.

 

 

17개의 댓글

2024.02.10

2중 for문을 도는 이유가 있나요?

0
2024.02.10
@스비니

배열 요소 하나씩 가져와서 모든배열에 전부다 맞춰보고 작은숫자를 선언하게끔 만들었거든용....

0
2024.02.10
@코싸멘뚜

이해가 안 되는데.. 최소값을 찾는 건 O(n)에 해결되는 문제잖아요. 바깥 for문의 존재 이유가?

0
2024.02.10
@스비니

어,,,,,,? 그러네요? 어...?

0
2024.02.10
@코싸멘뚜

ㅎㅎ 착각하셨나 보네요..

 

내장 함수들은 보통 훌륭하신 프로그래머분들이 많은 상황들을 고려해서 작성하셨을 테니깐 일반적으로 사용이 권고되는 건 맞는 것 같아요.

0
2024.02.10
@스비니

한바퀴만 돌면 되는걸 1000바퀴를 더돌렸네요 ㄷㄷㄷ

0
2024.02.10

팡션? 너무 많이 쓰지 마세요

2
2024.02.10

이래서 STL 공부하면 좋긴 함ㅇㅇ 덜 귀찮아지고 성능도 보장되다보니 ㅇㅇ

0
2024.02.10

이걸 몰랐다고요?

프로그래머스나 백준 알고리즘 문제만 풀어봐도

내장 함수 안 쓰면 시간복잡도에서 바로 걸리는데;;

0
2024.02.11
@숨은음은

코린이라... 잘못라똠

0
@숨은음은

js 에서 math.min, max는 어떻게 구현했는지 몰라도 코테에서 가끔 이 함수땜에 시간초과 나기도 함ㅋㅋㅋㅋ 그리고 고차함수랑 구조분해할당도 이것땜에 시간초과 몇번 당하고서 코테에선 안쓰게 되더라…

0
2024.02.11

Do not reinvent the wheel

1
2024.02.11

손수 짠 로직 코드가 내장함수보다 빠르고 정확하면 모르는 곳에서 전화 수백통올듯

0
2024.02.11

너무 좋다 이런글 big o notation 좀 더 찾아봐 님이 재밌어할거 많을듯

0
2024.02.11

대부분 아님

sort만해도 내장소트 느려서 소트라이브러리 따로있음

 

C언어에 malloc도 더빠른애들 따로있고

0
2024.02.11

sum 도 없어서 reduce 조져야하는 좃스

0
2024.02.13

RTOS 펌웨어 짤떄 printf도 계속 호출하다보면 스택영역 부족해서 TASK 종료되서 따로 만들어쓰긴하는데 모든거에 적용되는건아님..

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5701 [프로그래밍] 마리아DB mediumtext 그냥 쓰고 싶은데 17 잉텔 0 10 시간 전 119
5700 [프로그래밍] 안드로이드 씹뉴비 질문이요 1 집에가게해줘 0 12 시간 전 72
5699 [프로그래밍] c언어 7년했는데 이런게 되는거 처음알았음.. 4 케로로중사 0 1 일 전 639
5698 [프로그래밍] 파이썬 1도 모르는데 GPT로 프로그램 뚝딱 만듬 2 푸르딩딩 1 5 일 전 585
5697 [프로그래밍] 담주 면접잡혔는데 8 삐라루꾸 0 5 일 전 355
5696 [프로그래밍] 아두이노 부트로더를 구웠는데.. 4 렙이말한다ㅡ니가옳다 0 5 일 전 213
5695 [프로그래밍] IOS 개발자 있나여? 1 g4eng 0 8 일 전 236
5694 [프로그래밍] 시스템 디자인 인터뷰 준비 도움좀!!! 1 Nognhyup 0 8 일 전 186
5693 [프로그래밍] 최근에 vscode 쓴 사람 도움! 3 172102 0 9 일 전 435
5692 [프로그래밍] 책을 또 사버리고 말았다... 1 찰나생멸 2 10 일 전 424
5691 [프로그래밍] 윈도우 부팅화면 봐주실분 1 바나나맛두부 0 12 일 전 233
5690 [프로그래밍] 아 시발 퇴사마렵다 9 인간지표 0 13 일 전 588
5689 [프로그래밍] C#이 ㅈ사기 언어인 이유 19 ye 6 14 일 전 1167
5688 [프로그래밍] 요즘 모바일 개발은 어떤 걸 사용하나요? 14 커피좋아용 0 16 일 전 528
5687 [프로그래밍] 취준생 안드로이드 팀플 주제 머할까요... 8 조강현 0 16 일 전 285
5686 [프로그래밍] 공통코드테이블은 대체 왜 만드냐 9 잠적자 0 18 일 전 604
5685 [프로그래밍] 토이프로젝트 주제 선정 3 개드립눈팅1세대 0 18 일 전 280
5684 [프로그래밍] 엥 구글 플러터 유기각 재는거임?? 4 최수연 0 20 일 전 555
5683 [프로그래밍] 반도체 장비 업계인 있음? 9 캡틴띠모 0 21 일 전 430
5682 [프로그래밍] 안드로이드 책 추천좀 6 집에가게해줘 0 22 일 전 211