본문 바로가기

분류 전체보기104

사전캠프 달리기반 퀘스트 03-04 문제 3 이용자의 포인트 조회하기이용자들 별로 획득한 포인트를 학생들에게 이메일로 보내려고 합니다. 이를 위한 자료를 가공해봅시다. 특히 users 테이블에는 있으나 point_users 에는 없는 유저가 있어요. 이 유저들의 경우 point를 0으로 처리합시다. [풀이] 우선 users 테이블과 point_users 테이블을 join해야하는데, 0포인트인 사람도 조회하려면 한 쪽에 없는 데이터도 합쳐주는 left join을 해야할 듯. 양쪽에 공통으로 user_id 컬럼이 있으니 얘를 기준으로 하고. 한 유저의 포인트 획득 정보가 여러 번 있을 수 있으니 sum()을 해야 하나? group by는 user_id로 하고.  그리고 0 point인 사람들은 point 컬럼에 null값이 있을 테니, 조회하.. 2024. 10. 20.
freecodecamp 정리 [JS 21~70] - 배열의 마지막 값 쉽게 가져오기. 인덱스가 0부터인 특성 이용const colors = ['white', 'black', 'red', 'blue'];colors[colors.length - 1]; // 결과 : 'blue', 배열의 길이에서 1을 뺀 값 = 마지막 인덱스 값 - 배열명.pop() : 배열 맨 뒤 값을 배열에서 제거하고, 그 값을 returnconst colors = ['white', 'black', 'red', 'blue'];colors.pop();consol.log(colors); // 결과 : ['white', 'black', 'red']consol.log(colors.pop()); // 결과 : ['blue'] - 배열명.push() : 배열 맨 뒤에 값을 추가하고, 값이 추가된.. 2024. 10. 19.
사전캠프 달리기반 퀘스트 01-02 문제 01 데이터 속 김서방 찾기 “김”씨로 시작하는 이용자들 수를 세어 보기로 했습니다. [힌트 보기 전]SELECT count(1) "name_cnt"FROM userWHERE SUBSTR(name, 1, 1) = '김' [힌트 본 후]한 명이 여러 가입 정보를 가질 수도 있겠구나... 결과에 차이가 없어서 오히려 넘어갈 뻔 했다중복 없이 세도록 수정해주자SELECT count(distinct email) "name_cnt"FROM userWHERE SUBSTR(name, 1, 1) = '김' 문제 02 날짜별 획득포인트 조회하기이용자들이 잘 활동하고 있는지 보고자 합니다. 포인트가 많을수록 활동을 잘하고 있다고 생각 할 수 있습니다. 날짜별로 획득한 포인트가 점점 늘어나는지 줄어드는지 확인해 봅시다.. 2024. 10. 19.
Javscript 기초 문법 02 - 조건문, 논리연산자, 반복문, 화살표함수, 전개구문, map(), filter() 불리언 연산어떤 값이 true인지 false인지 판단하는 연산. Boolean() 꼴을 활용빈 문자열 '', 숫자 0, false, null, undefined, NaN 은 false를 출력하고, 이외의 모든 값은 true를 출력객체와 배열은 항상 true로 판단됨Boolean(''); // 출력 : falseBoolean(0); // 출력 : falseBoolean(); // 출력 : falseBoolean([a, b, c]); // 출력 : trueBoolean({key1 : value1, key2 : value2, key3 : value3}); // 출력 : true 조건문조건의 값이 true일 때, 명령을 실행if (조건1) { 명령1 // 조건1 === true면, 명령1 실행} else if .. 2024. 10. 18.
Javascript 기초 문법 01 - 변수 선언, 대입 연산자, 비교 연산자, 자료형 변수 선언, 대입 연산자[변수 선언]varlet : 한 번 선언한 변수의 값을 여러 번 변경 가능const : 한 번 선언하면 변수의 값을 변경 불가선언되지 않은 변수명을 사용하려 하면 참조 에러 발생!let a = 2; // 이후에 a에 새로운 값을 대입하면 a의 값이 변함const b = 2; // b는 평생 2임 [대입 연산자]= : 좌측의 변수에 우측의 값을 대입+=, -=, *=, /=, %= : 좌측 변수의 기존 값에 우측 값을 기호에 맞게 연산하고 그 결과를 좌측 변수에 대입let a = 2; a += 1; // a가 3이 됨a -= 1; // a가 1이 됨a *= 2; // a가 4가 됨a /= 2; // a가 1이 됨a %= 2; // a가 0이 됨 [증감 연산자]++, -- : 변수의 .. 2024. 10. 17.
07. 반복문 for 문[기본 구조]#include int main() { int i; for (i=0; i초기식 : 제어변수를 초기화시키는 부분.조건식 : 특정 조건을 만족할 때(조건식의 값이 1일 때) 동안만 명령을 반복함.증감식 : 한 번 실행할 때마다 제어변수의 값을 어떻게 변화시킬 지에 대한 부분.실행과정 : for문 입장 → 초기식 확인 → (조건식 확인 → 참이면 명령 실행, 거짓이면 for문 퇴장  → 증감식 적용 → 조건식 확인의 반복)[break 문]#include int main() { int i; for (;;) { scanf("숫자 맞추기 : %d", &i); if (i==3) { printf("정답!"); break; // for문 즉시.. 2024. 10. 15.