분류 전체보기 454

문제 27. 진료과별 총 예약 횟수 출력하기

문제를 푸는데 오랜 시간이 걸렸다. 이유로는 TIMESTAMP 자료형에서 연도(YEAR), 월(MONTH)을 추출하는 함수를 찾는데 시간이 조금 걸렸고 정렬 부분에서 결과가 "진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬한다" (정답 : ORDER BY COUNT(MCDP_CD) ASC, 진료과코드 ASC) 인데, ORDER BY "5월예약건수"(COUNT(*)) ASC, 진료과코드 ASC 로 개수를 먼저 정렬하고, 진료과코드로 정렬을 진행했기 때문이다. 마지막으로 시간이 가장 빼았긴 이유는 예약 취소 여부 때문이다.개인적인 생각으로는 APNT_CNCL_YN이 N과 NULL인 것만결과로 출력해야 한다고 생각했기 때문에 이 부분을 고..

SQL 문제 2024.07.17

2024년 7월 16일 TIL

오늘은 어제 JavaScript를 많이 풀지 못 한 것 같아 JavaScript를 문제를 더 풀어봤다. https://kagan-draca.tistory.com/57 acc + cur) == 0 ? true : false; }" data-og-host="kagan-draca.tistory.com" data-og-source-url="https://kagan-draca.tistory.com/57" data-og-url="https://kagan-draca.tistory.com/57" data-og-image="https://blog.kakaocdn.net/dna/b8Frwm/hyWCC72KqU/AAAAAAAAAAAAAAAAAAAAAEM0drgtY5KJtHngGZwSJ4ebxuvOFG-LWcIhWSv9ekyD/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=Z%2BbuR1kpKaTOCPEojIoubgfPDqk%3D

TIL 2024.07.16

문제 27. 핸드폰 번호 가리기(repleat, slice)

문자열의 일부를 변경하면 되는 문제라 replace 함수를 알아 봤지만, 어떻게 문제처럼 변경을 해야할지 모르겠어서 사용하지 못 했다. 다른 사람들의 코드를 보니function hide_numbers(s){ return s.replace(/\d(?=\d{4})/g, "*");}으로 변경이 가능했다... 아직까지 어떻게 바뀌는건지 정확하게는 잘 모르겠다... 다른 예시로는function hide_numbers(s){ var result = "*".repeat(s.length - 4) + s.slice(-4); return result; }"문자".repeat()로 문자를 반복 출력하고, s.slice()함수로 표현할 부분만 출력해준 것을 확인했다. slice 함수 사용법은 slice(시작 ..

문제 26. 음양 더하기(reduce 복습)

처음에 문제를 보고 reduce 함수를 사용하면 반복문 없이 간단하게 문제가 해결될거라 생각했다.그렇게 작성한 코드 return absolutes.reduce((acc, cur, index)=> acc + (cur * (signs[index] ? 1 : -1)))은 원하는 결과와 다르게 출력 됐다. 알고보니, reduce 사용법을 제대로 숙지하지 않아서 발생한 오류인데 reduce는 (calback(acc, cur, index, array), initialValue) 형태로 사용되며, (아래부터 중요)1. calback에서 사용되는 매개변수에는 acc : 누산 값cur : 현재 값index : 현재 주소array : reduce에 사용되는 주소 2. initialValue는 초기설정 값 이었다. ini..

문제 25. 나누어 떨어지는 숫자(배열 filter 함수)

find, findeIndex에서 find 함수와 유사하지만, 배열이 존재할 때 find는 찾고자 하는 배열의 가장 앞의 값만을 리턴해준다.여러 값을 반환하고 싶다면 filter 함수를 사용해야 한다. filter 함수의 매개변수로는 find, findIndex와 마찬가지로 element : 현재 배열 안 요소index : 현재 배열 요소 indexarray : 현재 filter의 배열 이 있다. 제출한 코드 : function solution(arr, divisor) { let answer = arr.filter((element) => element % divisor == 0); return answer.length == 0 ? [-1] : answer.sort((a,b)=> a -..

문제 24. 서울에서 김서방 찾기(배열 Find, FindIndex)

반복문으로 배열에서 찾고자 하는 값을 구할 수 있지만,반복문 없이 풀기 위해서는 관련 함수를 찾아보는 것이 가장 좋다.찾아본 결과 find, findIndex가 존재했다. find는 찾고자 하는 값 유무를 바탕으로 존재하면 값을, 없으면 "undefined"를 반환한다.findIndex는 찾고자 하는 값 유무를 바탕으로 존재하면 IndexNumber를 없으면 -1을 반환한다. 둘 다 매개변수로 (element, index, array)를 사용하는데 element : 배열의 요소index : 배열의 indexarray : find를 호출한 배열 이다. 제출한 코드 : function solution(seoul) { return "김서방은 "+seoul.findIndex((element)=> e..

문제 22. 두 정수 사이의 합(다른 사람 풀이 가우스 덧셈 공식)

if문을 통한 Swap 알고리즘과 for문을 이용한 반복문을 사용하지 않고 결과를 도출하고 싶었지만 알고리즘이생각나지 않아 결국 if문과 for문을 사용하게 됐다... 다른 사람의 코드를 보니깐function adder(a, b){ var result = 0 //함수를 완성하세요 return (a+b) * (Math.abs(a-b)+1) / 2;} 가우스의 덧셈 공식을 이용해서 빠르게 문제를 푸는 걸 확인했다. 1. a + b를 구한다.2. Math.abs(a-b) + 1로 a와 b 사이 개수를 구한다.3. 첫 번째 단계의 결과와 두 번째 단계의 결과를 곱한 후, 2로 나눕니다. 제출한 코드 : function solution(a, b) { if(a > b) { ..

2024년 7월 15일 TIL

아직까지 카드가 오지 않아서 이상한 마음에 고용센터와 신한카드에 전화를 해보았다. 그 결과, 카드를 발급하기 위한 문자가 스팸으로 차단된 것을 확인했다...오늘이라도 확인을 해서 다행이지 8월 달이 넘어간 시점에 알았다면대형 참사가 발생했을 것이다... 본 캠프 교육에서 HTML을 사용하는줄 알고 HTML 무료 강의를  수강해서 들었다...(내가 HTML과 CSS에 너무 약해서 걱정이 많았음...)https://kagan-draca.tistory.com/54 1주차 강의 (Web 개발 강의)1. Web 개발 = 홈페이지, Web 페이지를 만드는 기술이다. Web 브라우저 작동 원리 Client(개인용 컴퓨터,  스마트 폰) : 요청을 요구하는 대상Server(서버 컴퓨터) : 요청에 대한 응답을 주는 대..

TIL 2024.07.15