본문 바로가기

반응형

전체 글

(186)
[JS] 달리기 경주 문제 설명 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가 매개변수로 주어질 때, 경주가 끝났을 때 선수들의 이름을 1등부터 등수 순서대로 배열에 담아 return 하는 solution 함수를 완성해주세요. 제한사항 5 ≤..
Regex 메타문자 예시 1. . 임의의 한문자 ex) s.e -> sae, sbe, sce, sde 등, .ce -> ace, bce, cce, 등등 2. * 바로 앞의 문자가 없거나 하나 이상 ex) s*e -> e, se, see, ssse 등, abc* -> ab, abc, abcc, abccc 등 3. + 바로 앞의 문자가 하나 이상 ex) s+e -> se, sse, ssse 등 4. ? 바로 앞의 문자가 없거나 하나 ex) th?e -> e, the 5. ^ 바로 뒤에 문자열로 시작 ex) ^The -> 뒷부분부터 공백까지 검사 -> The girl is, Theater ^a?bc -> bc, abc 등 ^.e -> he, me, request, settle 등 ^s.e? -> e는 나와도 되고 안 나와도 되고 ->..
Regular Expression (Regex 클래스) Regular Expression을 사용하면, 대량의 문자열 데이터에서 특정 패턴을 찾아내거나 특정 패턴 문자열을 다른 것으로 치환하는 등의 일을 쉽게 구현할 수 있다. 따라서 Regular Expression은 Web Crawler나 로그 파싱 등에 매우 유용한 기능이라 할 수 있다. Regex 문자열 패턴 찾기 Regex 클래스 객체를 생성할 때, 특정 문자 패턴을 파라미터로 전달하며, Regex 객체의 Match() 메서드를 사용하여 특정 패턴이 입력 문자열에 존재하는지 체크하게 된다. Regex.Match() 메서드는 매치된 정보를 갖는 Match 클래스 객체를 리턴한다. 만약 매치된 문자열이 존재하면 Match.Success 속성이 True가 되고, Match.Index 속성을 통해 문자 패턴 ..
힙, 스택 그리고 GC 일반적으로 프로그램을 실행하면 프로그램의 코드는 메모리에 적재된다. 메모리 상의 코드는 CPU에 의해 하나씩 읽혀지면서 실행되는데, 이 과정에서 프로그램은 자연스럽게 데이터를 위한 메모리가 필요해진다. 따라서 메모리는 코드와 데이터로 채워진다. 힙과 스택은 데이터를 위한 메모리이라는 공통점을 가지지만, 용도에 따라 구분된다. 스택 스택은 스레드가 생성되면 기본적으로 1MB의 용량으로 스레드마다 할당되고, 이름에서 알 수 있듯이 자료구조에서 다루는 스택과 동작방식이 같다. 이 스택 공간을 활용해서 스레드는 메서드의 실행, 해당 메서드로 전달하는 인자, 메서드 내에서 사용되는 지역 변수를 처리한다. 스택 Work Flow 위의 그림과 같이 스레드는 메서드의 코드를 실행하기 전에 지역변수를 위한 메모리를 추가..
정규화(Normalization) 정규화(Normalization)이란? 정규화의 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 제1 정규화(1NF) 테이블의 컬럼이 원자값(Atomic Value, 하나의 값)을 같도록 테이블을 분해하는 것이다. 제2 정규화(2NF) 제1 정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것이다. 여기서 완전 함수 종속이라는 것은 기본키의 부분집합이 결정자가 되어선 안 된다는 것을 의미한다. 제3 정규화(3NF) 제2 정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것이다. 여기서 이행적 종속이라는 것은 A ->..
JOIN 종류 JOIN이란? 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법 두 개의 테이블을 마치 하나의 테이블인 것처럼 보여준다. INNER JOIN 테이블 간에 일치하는 행이 하나 이상 있으면 행을 반환 LEFT JOIN = LEFT OUTER JOIN 왼쪽 테이블을 기준으로 일치하는 행만 결합되고, 일치하지 않는 부분은 NULL 값으로 채워짐 RIGHT JOIN = RIGET OUTER JOIN 오른쪽 테이블을 기준으로 일치하는 행만 결합되고, 일치하지 않는 부분은 NULL 값으로 채워짐 보통 실무에서 사용 빈도는 낮은 편이다. OUTER JOIN 두 테이블 모두의 값을 유지하면 Full Outer Join 왼쪽 테이블 값만 유지하면 Left Outer Join 오른쪽 테이블 값만 유지하..
델파이 언어의 장점과 단점 델파이는 오브젝트 파스칼이라고도 불리며, VB나 파워빌더보다 더 낮은 단계의 프로그래밍에 접근할 수 있고, 빠른 처리속도와 독립적으로 실행 가능한 특징을 가지고 있습니다. [장점] 저수준 프로그래밍 접근 델파이는 VB나 파워빌더보다 더 낮은 단계의 프로그래밍에 접근할 수 있어 하드웨어와 더 가까운 작업을 할 수 있습니다. - 빠른 처리속도 : C++과 유사한 성능을 가지며, 높은 처리속도를 제공합니다. - 독립 실행 가능 : 델파이는 실행 파일을 독립적으로 생성할 수 있어 다른 환경에서도 실행이 가능합니다. - 비주얼 컴포넌트 라이브러리 : 델파이는 비주얼 컴포넌트 라이브러리를 사용하여 시각적인 응용프로그램 개발이 용이합니다. 호환성 델파이는 상위 및 하위 버전 간의 호환성이 뛰어나기 때문에 기존 코드를..
array 숫자 sort JS의 sort() 메소드는 기본적으로 문자열 비교할 때 쓰인다. 기본 sort() 메소드만 호출하면 아래와 같은 결과가 나온다. const arr = [2, 1, 3, 10]; arr.sort(); document.writeln(arr + ' '); // [1, 10, 2, 3] 그래서 값 비교 연산 메소드를 추가 작성해줘야 한다. const arr = [2, 1, 3, 10]; arr.sort(function(a, b) { return a - b; }); document.writeln(arr + ' '); // [1, 2, 3, 10] [출처] https://bloodguy.tistory.com/entry/JavaScript-%EB%B0%B0%EC%97%B4-%EC%88%AB%EC%9E%90%EC%A..

반응형