본문 바로가기

분류 전체보기65

정렬] K번째 수 꼭 이직이 아니더라도 개발자로서 좀 더 가독성 있고, 깔끔한 코드를 작성하기 위해 알고리즘 문제를 하나씩 풀어보려고 합니다. 현재 제 주 언어인 자바 언어로 풀어보며 코드 레벨에서 어떻게 하면 더 깔끔한 코드를 작성할 수 있을지 고민하고, 통과가 되었더라도 계속 개선해나갈 생각입니다. 문제는 프로그래머스에 있는 K번째 수[1]입니다. _____ 문제를 풀면서 고민한 지점은 특정 범위의 배열을 복사[2]하기 위해 어떤 API를 사용해야 하는지였다. 검색을 통해 Arrays 클래스의 copyOfRange(...) 메소드를 사용해야겠다고 생각했고, 테스트 케이스에서 두 번째 예인 [4, 4, 1]처럼 첫 번째 인덱스와 마지막 인덱스가 같은 경우 따로 구분해야 한다고 생각해서 아래와 같이 분기해주었다(으나 다른.. 2021. 4. 19.
JOIN과 Sub-Query의 차이 최근 프로그래머스의 없어진 SQL 문제(없어진 기록 찾기)를 풀었는데 두 가지 풀이법[1]이 있음을 알았습니다. 평소 떠오르는대로 SQL을 짜는 편인데 이 기회를 통해 두 방법의 차이에 대해 공부, 기록하면 좋겠다 싶어 작성합니다(특히 다음 글을 많이 참고하였습니다). 글의 내용은 공부하며 보완해나갈 예정입니다. _____ 조인과 서브쿼리는 때로 동일한 결과를 얻을 수 있다. 따라서 쿼리 작성 시 서브쿼리를 사용할지 조인을 사용할지 선택하는 것이 필요하다. 이 두 녀석은 차이가 있고(아직은 잘 모르), 많은 경우 서브쿼리가 사용하기 쉬워보이지만 효율성의 측면에서 조인이 권장된다[2]. 그렇다면 어떤 경우 서브쿼리를 조인으로 대체해야 할까?[4] 첫째, 스칼라 서브쿼리[5]다. 아래 예를 보자. // 방법.. 2021. 4. 17.
Date validation 사용자로부터 값을 입력받는다면 일차적으로 화면, 즉 JavaScript로 유효성 검사를 해야 합니다. 그리고 그 중 날짜 혹은 시간과 같은 것은 어떤 프로젝트를 하건 필수적으로 입력받는 경우가 많은 거 같습니다. 따라서 정리해놓는다면 여러모로 도움이 될 것 같아 이 글을 작성합니다. 작성한 코드는 계속 수정, 보완해나갈 예정이고, 틀린 부분이나 의견이 있으시면 댓글 남겨주세요. _____ /** * 유효한 날짜 형식인지 validation check(ddMMyyyy) * 만약 유효하지 않다면 false 반환 * * @author hj */ function checkDateFormat(dateString) { var date; if (dataString.length === 0) { return true; .. 2021. 4. 10.
JSON 꼭 자바가 아니더라도 웹 서버 개발자로 면접에 가게 되면 꽤 자주 듣는 질문 중 하나가 JSON을 다룰 때 어떤 라이브러리를 사용했는가 였습니다. API를 다루는 백엔드 개발자라면 서버에서 클라이언트로 데이터를 전송하는 경우 JSON을 일반적으로 사용한다고 알고 있습니다. 하지만 저는 당시 지식이 별로 없었던 관계로 @RestController에서 자동으로 JSON으로 변환하여 반환하여 내부적으로 어떤 라이브러리를 사용하는지는 모르겠다고 답하였고 떨어졌던 기억이 있습니다. 늦었지만 지금이라도 JSON에 대해 정리하며 공부해볼까 합니다. 우선 부족하더라도 적어놓고 보완해나갈 예정이니, 내용 중 틀린 부분이나 첨언할 내용이 있다면 댓글 달아주시면 감사하겠습니다. JSON이란 클라이언트에서의 사용법 서버에서의.. 2021. 1. 31.