코딩기초(2)
-
빅오 표기법 (big O notation)
요즘 알고리즘 스터디도 하고 프로그래머스 코딩테스트를 풀고있다. 문제를 마주쳤을 때 문제에 대해 이해도 못했을 뿐만 아니라 그 문제를 어떻게 풀어야되지 라는 막막함도 있었다. 그리고 문제가 해결했을 때 모든 코드의 분석과 해답은 프로그래머스에서 정답이냐 탈락이냐 거기에만 맡겼다. 하지만 내 넘겨 받는 데이터의 갯수가 예시에서는 5개지만 최대 100,000개 까지 넘어온다고 했을 때 나의 코드는 100,000번 연산을 해서 값을 리턴하게 된다. 이러한 점에서 Big O 표기법을 지키며 코드를 작성해야겠다 라고 마음 먹었다. | 빅오 표기법 이란? 알골리즘의 효율성을 의미한다. 효율성은 데이터의 갯수에 따라 기본 연산의 횟수를 의미한다. 예를 들어서 택배 트럭에 택배상자가 3개만 있고 트럭에는 총 500개 ..
2023.09.13 -
동적 타입 언어와 정적 타입 언어
동적 타입 언어와 정적 타입 언어 (22.02.16 작성) C 나 JAVA 는 정적 타입 언어 이다. 변수를 선언할 때 변수에 할당할 수 있는 값의 종류, 즉 데이터 타입을 사전에 선언해야 한다. 이를 명시적 타입 선언 이라 한다. 정적 타입 언어는 변수의 타입을 변경할 수 없다. 변수에 선언한 타입에 맞는 값만 할당할 수 있다. 정적 타입 언어는 컴파일 시점에 타입 체크 (선언한 데이터 타입에 맞는 값을 할당했는지 검사하는 처리) 를 수행 한다. 타입 체크를 통과하지 못했다면 에러를 발생 시키고 프로그램의 실행 자체를 막는다. 타입의 일관성을 강제함으로써 더욱 안정적인 코드의 구현을 통해 런타임에 발생하는 에러를 줄인다. 즉 매우 번거롭지만 안정적인 코드의 구현이 가능하다는 소리이다. 대표적인 정적 타..
2023.06.05