반응형

old 37

[Java] 검색 알고리즘

본 포스팅은 'Do it! 자료구조와 함께 배우는 알고리즘 입문 Java편'을 스터디 한 내용입니다. 검색하기 - 특정 항목에 주목하는 것은 검색하기의 공통점이며, 특정항목은 키(Key)라고 함 - 국적을 검색하는 경우 국적이 키(key)이고, 나이를 검색하는 경우 나이가 키(key)임. - 키(key)는 데이터 값 뿐만 아니라, 데이터의 '일부'임 배열에서 검색하기 1. 선형 검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행 2. 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행 3. 해시법 : 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색을 수행 - 체인법 : 같은 해시 값의 데이터를 선형 리스트로 연결하는 방법 - 오픈 주소법 : 데이터를 위한 해시 ..

[Java]소수의 나열, 소수인지 판단하는 알고리즘

본 포스팅은 'Do it! 자료구조와 함께 배우는 알고리즘 입문 Java편'을 스터디 한 내용입니다. 방법 1, 2, 3으로 진행되면서 나눗셈 횟수를 줄이는 방향으로 알고리즘을 개선함. 방법 1. 2부터 n을 1씩 증가시키며, 그 값이 소수인지 판단함. 이중 for문의 안쪽에서 n까지 i를 1씩 증가시키면서 나누어떨어지면 break;를 통해 반복문을 탈출함. 그동안 counter++되면서 나눗셈 횟수를 증가시킴. 짝수 및, 소수의 배수들 또한 반복적으로 테스트함으로 불필요한 나눗셈 횟수가 많아짐. /** * @Date 2020. 1. 26. * @Time 오후 4:03:00 * @author BRYANT * ===================== * Writing Developer */ public cl..

[Java] 기수변환/진수변환 계산기(2진수, 8진수, 10진수, 16진수)

본 포스팅은 'Do it! 자료구조와 함께 배우는 알고리즘 입문 Java편'을 스터디 한 내용입니다. 기수 : 수를 나타내느데 기초가 되는 수로 10진수에서는 0~9까지의 정수를 말함. 전위형 증가연산자 ++a - ++을 앞에 놓으면 식 전체를 평가하기 전 피연산자의 값을 증가시킴 - 예를들어 a값이 3일 때, b = ++a를 실행하면 ++a평가값 4를 b에 대입시키고 a==b==4가 됨. 후위형 증가연산자 a++ - ++를 뒤에 놓으면 식 전체를 평가한 후에 피연산자의 값을 증가시킴. - 예를들어 a값이 3일 때, b = a++을 실행하면 3을 b에 먼저 대입하고 ++이 수행되어, a는 4가 됨. 결국 a==4, b==3 기수변환(진수변환) 과정을 포함하여 출력하는 계산기 만들기 목차 1. 변환 메소드..

[Java]배열요소 역순으로 복사하기

본 포스팅은 'Do it! 자료구조와 함께 배우는 알고리즘 입문 Java편'을 스터디 한 내용입니다. 배열요소 역순 복사를 위해서, 1) 복사하고자 하는 배열을 역순으로 정렬하고 2) 역순정렬된 배열을 복사한다. 이를 위해, swapArray와 reverseArray메소드를 활용해 main 메소드에 생성했던 originArray를 역순정렬한 후, copyArray 메소드에서 복사하는 방식이다. import java.util.Scanner; /** * @Date 2020. 1. 25. * @Time 오후 11:56:27 * @author BRYANT * ===================== * Writing Developer */ public class arrayReverseCopy { static vo..

[Java]배열 요소 역순으로 정렬하기

본 포스팅은 'Do it! 자료구조와 함께 배우는 알고리즘 입문 Java편'을 스터디 한 내용입니다. 1. 배열의 역순 정렬은 요소 교환이 총 n/2회 필요함. 1) x값을 t에 보관 2) y값을 x에 대입 3) t에 보관한 처음 x값을 y에 대입 static void swap(int[] a, int idx1, int idx2) { int t = a[idx1]; a[idx1] = a[idx2]; a[idx2] = t; } 2. 배열을 역순으로 정렬 배열의의 이름이 a이고 크기가 5라면 역순정렬을 위해서는 (a[0], a[4]), (a[1], a[3]), a[2]의 쌍으로 교환이 되어야 한다. for문을 활용한다면, i=0부터 시작해서 배열길이의 절반(a.lenght/2)만큼 반복되어야 한다. static..

[DB/JAVA/JSP] STUFF문을 활용한 Key-Value형태 Data전송

안녕하세요. 글쓰는 개발자 입니다. 오늘은 회원가입 등에 사용되는 항목들을 MetaData로 DB에서 관리하고 그것을 View단(jsp)에 뿌려주는 방법을 설명하고자 합니다. 업무로 회원의 프로필 작성을 맡았는데 항목이 총 31가지 였고, 각각 직접입력, radioButton, checkBox등이 있는데 일일이 text로 입력하는 것이 아니라 DB에서 그 항목들을 불러오는 방식을 취했습니다. 이유는 항목값이 변경 또는 추가 되었을 때 DB값만 변경하면 되기 때문입니다. 그리하여, 제가 어떤 방식으로 구현했는지 설명드리겠습니다. 1. DB 1) MetaDataTable 성별선택을 예로들면, 성별을 부모키, 남자, 여자, 상관없음을 자식키 형태로 만듭니다. domain_key는 data각각을 나타내는 고유한..

old/Java 2020.01.24

[JavaScript] 회원가입, ID, 닉네임 유효성검사(Validation Check)

안녕하세요. 글쓰는 개발자입니다. 회원가입 혹은 프로필 작성시 특수문자, 공백 체크 등 유효성 검사를 필요로 하는 경우가 많은데요. 저도, 프로필 작성을 맡으면서 닉네임의 유효성 검사가 필요했습니다. 연속된 야근으로 오늘도 자정이 넘어 글을쓰는 중이라 코드만 소개하겠습니다. 아래 코드를 보시면 필수입력, 닉네임 빈칸 체크, 한글 및 영문 숫자 길이 체크, 특수문자 포함에 관한 javascript 정규식이 포함되어 있습니다. 주석이 친절(?)하게 달려있으니 확인하시기 바랍니다. //닉네임 체크 [S] function checkNickName() { var nickname = document.getElementById('nickNm').value; //닉네임 입력값 받아오기 var nickLength = 0..

old/Javascript 2020.01.22

[JQuery/ajax]비동기 검색제시어 기능/검색 API 활용

안녕하세요. 글쓰는 개발자입니다. 오늘은 업무 중에 활용했던, 커리어넷 OPEN API 센터의 학교명 검색 기능을 활용해서 비동기 검색제시어 기능을 구현한 것을 간단하게 소개하려고 합니다. 동기, 비동기 방식에 대한 자세한 설명이 필요할 것 같지만, 다른 포스팅에서 다루도록 하고 기능구현만 간단히 소개하겠습니다. 1. 검색제시어 기능 다양한 포털사이트에서 검색을 하실 경우 아래에 유사한 검색어들이 제시되는 것들을 보셨을 것입니다. 그것이 바로 검색제시어 기능입니다. 비동기 방식이기 때문에 검색어가 변경될 때 마다 매번 새로고침 되지않고 제시어만 계속 바뀌게 됩니다 2. 기능 구현 커리어넷의 OPEN API를 예시로 들었지만, DB에서 불러온 값들을 활용하셔도 됩니다. 1) html 간단하게 검색어를 입력..

old/Javascript 2020.01.21

[Javascript] IE10, remove 함수 사용 불가 이슈

안녕하세요. 글쓰는 개발자입니다. 글을 쓰는 시점은 야근을 마치고 돌아오자마자 새벽 1시가 좀 넘었는데요. 단위테스트를 진행하면서 Chrome에서는 잘되던 javascript remove() 함수가 IE10에서는 사용불가한 이슈가 있었습니다. 그렇다면, 예제와 해결 방법을 알려드리겠습니다. 테스트용으로 리스트를 만들었고 remove() 함수를 먼저 적용해보았습니다. Chrome에서는 잘되었지만, IE10에서는 아래 그림과 같은 에러를 확인할 수 있었습니다. 그러나, removeTestIE10() 을 보시면, 삭제하고자하는 node의 parent를 선언하고, var test = paren.document.getElementById("test1"); removeChild(test) 의 방식으로 해결했습니다...

old/Javascript 2020.01.16

[Javascript] '=='과 '===' 차이(동치비교 및 동일성)

안녕하세요. 글쓰는 개발자입니다. 고등학교 친구들을 만나고 집에 돌아오자마자 글을 쓰게 되었는데요. 저의 개발자 친구 K와 C랑 셋이서 이야기를 하다가 기술면접 이야기가 나왔고, K가 Javascript의 '=='과 '==='의 차이를 알려줘서 바로 포스팅하게 되었습니다. 결론부터 말씀드리면, "==="(strict equality) 을 사용하는 것이 바람직 합니다. 비교결과 예측이 쉽고, 형 강제(coercion) 변환이 일어나지 않기에 평가가 빠르기 때문입니다. 그럼, 결론을 염두에 두시고 아래 내용을 보시기 바랍니다. 아래 내용은 친구 K의 설명과 아래 링크의 설명을 참고했습니다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Equality_comp..

old/Javascript 2020.01.12
반응형