본문 바로가기

분류 전체보기

(300)
(CodingTest) : 26일차 한 번만 등장한 문자 ☑️ 정답1 (아래에 더 나은 방법으로 풀기)✔ 체크 할 부분 1) cnt = 0이라는 변수를 둬서, 중복되는 값이 있다면 cnt를 +1씩 늘려주기 2) 그리고 cnt가 1인 경우는 값이 딱 1개만 있다는 의미니, 해당 값에 해당하는 값을 answer에 추가하기 3) 정렬을 우선 해주고 시작하는게 좋음// cnt=0을 사용해서, 만약 동일 값이 있다면 +1해주고, 없다면 아무 작업 안 하도록// cnt가 1이라면, 자기 자신만 있다는 의미라서, 해당 값을 answer에 추가해주기import java.util.*;class Solution { public String solution(String s) { String answer = ""; String[] ar..
(CodingTest) : 26일차 인덱스 바꾸기 ☑️ 내가 쓴 답(정답)✔ 체크 할 부분// num1, num2의 위치의 값만 바꿔서 저장// 1) 해당 위치일 때만 바꿔야 되니깐, for문에서 i랑 num1,num2가 같을 때로 조건 걸어보기class Solution { public String solution(String my_string, int num1, int num2) { String answer = ""; String[] str = my_string.split(""); for(int i = 0; i
(SQL > ★ SELF JOIN Lev2) : 20일차 연도별 대장균 크기의 편차 구하기 ☑️ 정답 및 체크✔ 체크 할 부분 1) DATE_FORMAT(value, type)을 사용해도 되지만, 연,월,일만 구할 때에는 YEAR(value), MONTH(value),DAY(value)를 사용해도 됨 2) LEFT JOIN보다 JOIN을 사용하는게 아래에서는 적절 --> JOIN은 일치하는 데이터만 반환하기 때문 3) 아래처럼 하나의 테이블을 변형해서 Join하는걸 Self Join이라고 함 4) JOIN ON에서 ON의 조건은 최대한 디테일하게 가는게 데이터 조회시 성능 좋음 (e.DIFFERENTIATION_DATE 보다는 YEAR(e.DIFFERENTIATION_DATE)이런식으로 하는게 효율적)-- 분화된 연도(YEAR), 분화된 연도별 대장균..
(CodingTest) : 25일차 영어가 싫어요 ☑️ 내가 쓴 답(오답)✔ 체크 할 부분 1) 변환하는 부분 학습 필요(다른 사람의 풀이 -> replace()메서드 사용) // 00:40// String s 배열에 one~nine까지의 값들을 넣고// answer = answer + numbers[i]을 추가해나가면서, answer이 s의 값과 일치한다면, 해당 i값을 returnclass Solution { public long solution(String numbers) { long answer = 0; String n = ""; String[] s = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};..
(CodingTest) : 25일차 대문자와 소문자 ☑️ 내가 쓴 답(오답)✔ 체크 할 부분// 두개의 알파벳 배열 (소문자,대문자) 만들어보기class Solution { public String solution(String my_string) { String[] small = {"a","b","c","d","e","f","g","h","i","j"}; // length = 9 String[] big = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"}; String answer = ""; String[] a = my_string.split(""); for(int i = 0; i ☑️ 다른 사람의 풀이(정답)✔ 체크 할 부분 ..
(SQL > COUNT,DISTINCT Lev2) : 19일차 중복 제거하기 ☑️ 내가 쓴 답(오답)✔ 체크 할 부분 1) where절에서 subquery는 단 하나의 결과만 반환해야 함-- 00:40-- 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성-- 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.SELECT COUNT(NAME)FROM ANIMAL_INSWHERE NAME = ( SELECT NAME FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME ) ☑️ 다른 사람의 풀이(정답)✔ 체크 할 부분 1) DISTINCT 명령어 사용하여, 같은 NAME 값을 제거해주기 (가장 가독성 좋음)SELECT COUNT(DISTINCT NAME)FROM..
(SQL > COUNT Lev2) : 19일차 동물 수 구하기 ☑️ 내가 쓴 답(정답)✔ 체크 할 부분 1) COUNT(*)을 실행하면, 모든 행(row)들의 개수를 count함SELECT COUNT(*)FROM ANIMAL_INS;
(SQL > MIN Lev2) : 19일차 최솟값 구하기 ☑️ 내가 쓴 답(정답)✔ 체크 할 부분 (subquery 사용)-- 00:05-- 가장 먼저 들어온 동물은 언제 들어왔는지 조회-- DATETIME이 가장 적은 값 찾기SELECT DATETIMEFROM ANIMAL_INSWHERE DATETIME = ( SELECT MIN(DATETIME) FROM ANIMAL_INS ); ✔ 또 다른 풀이법 - order by 사용-- order by 사용SELECT MIN(DATETIME)FROM ANIMAL_INSORDER BY DATETIME ASC