전체 글 82

[내일배움캠프-사전캠프 문제풀이] JAVA 응용문제 3

[문제] 단어를 주어진 기회 안에 맞추는 게임을 만들어보세요1. 컴퓨터가 랜덤으로 영어단어를 선택합니다.- a. 영어단어의 자리수를 알려줍니다.- 랜덤한 영어단어를 선택할 수 있게끔 randomText()라는 함수 생성. public String randomText(){ Random random = new Random(); String[] list = { "airplane", "apple", "arm", "bakery", "banana", "bank", "bean", "belt", "bicycle", "biography", "blackboard", "boat", "bowl", "broccoli", "bus", "car", "carrot", "chair", "cherry",..

[내일배움캠프-사전캠프 04일차] 자바 공부

len 만해도 python에서는 len() 이런식만 해도 출력이 됐고, 문자열 * 숫자 하면 숫자만큼 문자열이 더해졌는데. 자바는 그런 게 안 된다.그렇다 보니 하나 하나 함수를 찾아보아야 한다.1. 문자열 반복  reapeatreapeat는 반복이다. 파이썬에서는 문자*숫자를 하면 숫자만큼 문자열이 더해졌지만. 자바에서는 없다.그리하여 reapeat 를 이용하여 반복을 해주어야한다. for문으로 구현할 수 있지만!for문보다는 함수가 간지나잖아요 ^ㅡ^char character = '-'; // 곱하고 싶은 문자int times = 4; // 반복 횟수// char을 String으로 변환하고 repeat 사용String result = String.valueOf(character).repeat(time..

[내일배움캠프-사전캠프 문제풀이] JAVA 응용문제 1, 2

[1단계] 랜덤 닉네임 생성기import java.util.Random;class Main { public static void main(String[] args) { String[] box1 = {"기철초풍", "멋있는", "재미있는"}; String[] box2 = {"도전적인", "노란색의", "바보같은"}; String[] box3 = {"돌고래", "개발자", "오랑우탄"}; Random random = new Random(); int randomInt1 = random.nextInt(box1.length); int randomInt2 = random.nextInt(box2.length); int randomInt3 = random.nextInt(box3...

[내일배움캠프-사전캠프 03일차] JAVA 입문

1. JAVA / ( Part 01. Hello World! | java handbook)0) 언어의 역사- 컴퓨터와 소통하기 위해 기계 명령어와 일상 용어를 일대일로 매칭하는 기계어와 니모닉의 매칭 코드표를 만듦.- 이를 우리는 '어셈블리'라고 얘기함.- 어셈블리어가 등장하고 개발자들은 편해졌으나, 개선되어야할점이 많았음.- 어셈블리가 CPU마다 언어가 다 다르니, 배워야할 언어가 너무 많아져 버린 것임. 어셈블리어를 개발할 때는 같은 작업을 수행하는 소스 파일을 각 기계의 종류만큼 만들어야 했었음.- 그리하여 C 언어가 등장하게됨. 언어의 등장으로 이제는 소스파일을 단 하나만 만들어도 되는 시대가 됨.- C 언어는 하나의 소스파일을 각 기계어에 맞는 컴파일러로 컴파일을 하여 기계어 목적파일을 만듦. ..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

[마지막 연습 문제] 다음과 같은 상품(products) 테이블과 주문(orders) 테이블이 있습니다.- 이번 문제에서는 MYSQL에서 실제 TABLE을 만들어서 진행하였다.44. 모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!SELECT od.id, pd.nameFROM orders od, products pdWHERE od.product_id = pd.id- 결과는 아래와 같다.45. 총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!- GROUP BY 없이 집계함수와 비집계함수를 함께 사용되는 것이 허용되지 않을 수 있다.- 생각해보니, 둘이 그냥 곱하고, 그걸 ORDERBY 한후, LIMIT를..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

[10단계] 이젠 테이블이 2개입니다38. 현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!SELECT count(*)FROM departments39. 모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!- JOIN ON으로 처리 했다.- JOIN ON 은 말 그대로 교집합?이라고 생각하면 쉽다. - INNER JOIN: 기본적으로 많이 사용되는 JOIN입니다. 두 테이블에서 일치하는 데이터를 모두 반환합니다.- LEFT JOIN: 왼쪽 테이블의 모든 데이터를 반환하며, 오른쪽 테이블에 일치하는 값이 없으면 NULL을 반환합니다.- RIGHT JOIN: 오른쪽 테이블의 모든 데이터를 반환하며, 왼쪽 테이블에 일치하는 값이 없으면 NULL을 반환합니다.- FULL OUTER..

[내일배움캠프-사전캠프 02일차] SQL의 서브쿼리, DATEDIFF

1. 서브쿼리 Subquery - 서브 쿼리란 부속질의를 말하는 것으로 내포된 query와 바깥족의 query에서 참조한 table이 서로 다를 경우, 여러개의 table에 걸쳐서 질의를 처리하는 것이다.- Subquery는 FROM 절과 WHERE 절에 사용이 가능하며, bottom-up(아래에서 위) 방식으로 바깥쪽 query가 실행되기 전에 실행된다.1) 예시 문항을 살펴보겠다.SELECT *FROM RETAIL_ORDERWHERE OrderTotal > AVG(OrderTotal)- 아래는 ordertoal 열에서, 평균보다 높은 열을 찾는 SQL 문이다.- 하지만 위의 열은 error 가 생긴다.  AVG()는 하나의 값으로 반환되며, 단일값을 비교할려면 서브쿼리 또는 다른 방식으로 값을 처리해..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

[7단계] 랭크게임 하다가 싸워서 피드백 남겼어요… 25. lol_feedbacks 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!내림차순은 DESC, 오름차순은 ASCSELECT *FROM lol_feedbacksORDER BY satisfaction DESC26. lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!- 유저별로 최신 피드백을 찾아야하기 때문에.- feedback_date 가 가장 높은 서브쿼리를 만들어서, 피드백을 출력한다.SELECT *FROM lol_feedbacks t1WHERE feedback_date = ( SELECT MAX(feedback_date) FROM..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

[6단계] 팀 프로젝트 열심히 했으니 다시 놀아볼까요?!21. lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주세요! 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야해요. (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위)** 순위에 대한 함수 RANK 는 윈도우 내장 함수이다. PARTITION은 그룹화 하는 것이다. ORDER BY는 정렬할 COL을 정하는 것이다. PARTITION은 COL 값 별로 순위를 매기는 것이라고 생각하면 쉽다.RANK() OVER (PARTITION BY COL1 ORDER BY CO1 [ASC/DESC])무엇을? RANK 된 열을어디에서? lol_users에서SELECT *, R..