1. 함수는 일급 객체 자바스크립트에서 함수는 값처럼 사용이 가능하다. 변수에 함수를 넣을 수 있고, 매개변수로도 넘길 수 있다. 배열에도 함수가 들어간다. 메서드(함수)가 객체의 프로퍼티(속성)로도 설정이 가능하다. 매개변수의 개수가 일치하지 않아도 호출 가능하다. 엄격하지 않은 것이다. 자바스크립트의 함수는 일급 객체라고 부른다. 2. 함수 선언 2가지 방법 //함수 선언 2가지 유형 //1. 함수 표현식 const add = (a,b) => a+b; //2. 함수 선언식 function calculator(func, a, b){ return func(a,b); } 함수 선언식은 function을 쓰는데, 이를 통해 함수 호이스팅이 가능하다. 함수 호이스팅은 첫 번째로 소스코드 평가 단계를 거친다. ..
풀 때마다 업데이트 할 예정 [LV2] 1. 조건에 맞는 도서와 저자 리스트 출력하기 SELECT BOOK_ID, AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE,'%Y-%m-%d') as PUBLISHED_DATE FROM BOOK b JOIN AUTHOR a ON b.AUTHOR_ID = a.AUTHOR_ID Where b.CATEGORY like '경제' ORDER BY b.PUBLISHED_DATE ASC; JOIN의 종류는 (JOIN(이너조인), LEFT OUTER JOIN(왼쪽 테이블 기준), RIGHT OUTER JOIN(오른쪽 테이블 기준), FULL OUTER JOIN(전체 테이블 대상)) 4가지이다. %Y = 2024 %y = 24 %M = January %m =..
처음에는 '물통에 있는 물을 어떻게 규칙적으로 움직이지?' 라는 생각에 빠졌다. c->b, b->a 그 다음에는?... 흠... 설계가 떠오르지 않으니 당연히 알고리즘도 떠오르지 않았다 ㅋㅋ 1. 출처 2251번: 물통 각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부 www.acmicpc.net A, B, C 물통 3개가 있음, 최대 200리터까지 올 수 있음 처음에는 C 물통이 가득 차있음 물통에 물을 이리저리 옮기다가 A가 0일 때 C에 올 수 있는 물의 리터를 오름차순으로 출력 2. 설계 설계는 알고나면 간단했다. 현재 A, B,..
백준에서 강의실 배정 문제를 풀다가 sort가 되는 원리를 잘 이해 못하고 있다보니 정렬이 잘되었는지 확인하기 위해 헛된 시간을 쏟고 있다는 것을 깨달았다. 깨달았으면? 공부를 해야지! 1. Arrays.sort() 배열을 이용할 때는 Arrays.sort()를 이용한다. Arrays.sort()는 정렬 방식이 DualPivotQuickSort이다. 2가지 포인터를 이용해 비교하는 퀵소트로 정렬한다. 이런 이유로 시간 복잡도는 평균 O(n log n)이지만 최악의 경우에는 O(n^2)까지 나올 수 있다. 그래서 정렬할 일이 생기면 기본 Collections.sort() 먼저 생각하기 나름이다. import java.util.*; import java.io.*; class Main { public stat..
구현문제처럼 풀었다가 맥도 못추린 문제... 싸피 때 양교수님께선 항상 말씀하셨지... "코드가 복잡하다는 느낌이 들면 아 내가 잘못하고 있구나" 항상 생각할 것... 2번의 불발된 시도 끝에 답안을 찾아보았다. 내가 가장 도움을 느낀 블로그는 이거다! https://yoggaebi.tistory.com/46 [백준, DP, JAVA] P.2299 조짜기 1. 아이디어 1. 입력값을 받을 때마다 해당 번째 위치에서 1번째까지 반복하며 조를 만들면서 최적의 값을 비교하여 가장 좋은 값을 선택 (1)우선 dp[0] = 0, dp[1] = 0으로 초기화 해줍니다. 0번째와 1 yoggaebi.tistory.com 글 자체는 이해가 되지 않았는데, 코드를 보며 한땀한땀 하다보니 이해가 팍 갔다! 1. 출처 ht..
왜 Arrays.sort를 계속 써도 시간초과가 나지 않는지 의문이었던 문제... 1. 출처 https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net N개의 카드가 주어짐 2장의 카드를 더한 값을 2장의 카드에 적용 == 카드합체 M번 카드 합체를 진행했을 때 모든 카드의 합이 가장 적게 나올 수 있는 경우를 구할 것 2. 설계 1. 타입은 long으로 카드 수는 최대 1000개가 나올 수 있고, 카드에 적힌 수는 ..
무려 4트만에 풀린 문제 ㅠㅠ 항상 밑그림이 끝나면 바로 코드를 짜는 버릇이 있는데, 예외 케이스를 최대한 많이 찾은 후 코드 설계를 해야한다는 게 너무 어렵다 ㅠ 1. 설계 https://www.acmicpc.net/problem/9328 9328번: 열쇠 상근이는 1층 빌딩에 침입해 매우 중요한 문서를 훔쳐오려고 한다. 상근이가 가지고 있는 평면도에는 문서의 위치가 모두 나타나 있다. 빌딩의 문은 모두 잠겨있기 때문에, 문을 열려면 열쇠가 www.acmicpc.net 문서를 최대한 많이 찾으면 되는 문제 테스트케이스, 지도의 크기, 지도(빈공간, 문, 열쇠, 문서 위치), 내가 가진 열쇠들이 주어짐 상근이는 지도 밖에 있다가 지도 테두리에 들어올 수 있는 공간이 있으면 그 쪽으로 지도에 들어올 수 있..
오늘은 해당 문제로 시간 복잡도를 줄일 수 있는 설계에 대해 생각해볼 수 있었다. 1. 출처 https://www.acmicpc.net/problem/25487 25487번: 단순한 문제 (Large) 세 양의 정수 $a$, $b$, $c$가 주어질 때, 다음 조건을 만족하는 정수 쌍 $(x, y, z)$의 개수를 구하시오. $1 \le x \le a$ $1 \le y \le b$ $1 \le z \le c$ $(x\,\bmod\,y) = (y\,\bmod\,z) = (z\,\bmod\,x)$ $(A\,\bmod\,B)$는 $A$를 $B$ www.acmicpc.net (x%y) = (y%z) = (z%x) 에 부합하는 (x, y, z) 쌍이 몇 개인지 알아내는 문제 1