해커랭크 SQL문제_0802
Weather Observation Station12 문제: Query the list of CITY names from STATION that do not start with vowels and do not end with vowels. Your result cannot contain duplicates. 풀이: CITY 중에서 모음으로 시작하지 않고 모음으로 끝나지 않는 것들을 중복을 제거해서 출력하는 문제이다. 이 문제 역시 MySQL 정규식으로 해결할 수 있었고, 앞선 11번 문제에서 OR을 AND로만 바꾸면 해결이 가능한 문제였다. SELECT DISTINCT CITY FROM STATION WHERE CITY REGEXP '^[^aeiou]' AND CITY REGEXP '[^aeiou]$';..
2021.08.02
no image
자바 개념 정리_04
변수 명명법 헝가리안 표기법: 자료형을 식별자에 같이 포함 ex) int int_num; 파스칼 표기법: 식별자가 한 단어나 혹은 여러 단어로 조합, 각 단어의 첫문자만 대문자로 ex) KorScore 캐멀 표기법: 모든 단어를 공백없이 조합, 첫단어의 첫문자는 소문자로 ex) totalNumber 스네이크 표기법: 단어 사이에 언더바(_)를 넣어서 표기하는 법 ex) background_color Generic(제네릭) 자바에서 제네릭이란 데이터의 타입을 일반화한다는 것을 의미. 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법. 장점으로는 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있고, 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 ..
2021.08.02
자바 개념 정리_03
Singleton 디자인 패턴 어떤 클래스가 최초 한번만 메모리를 할당하고 그 메모리에 객체를 만들어 사용하는 디자인 패턴을 의미. 즉 생성자의 호출이 반복적으로 이뤄져도 실제로 생성되는 객체는 최초 생성된 객체를 반환해주는 것. String과 StringBuffer의 차이 String은 데이터 테입이 아닌 클래스 객체. 또한 불변의 객체로 한번 선언된 내용에 추가적으로 바뀌지 않는다. 예를 들어,String name =”길동”; 에다가 name += “홍”; 이라 하면 name이 가리키는 값은 "길동홍"이 된다. 그럼 어떻게 바뀌는 것일까?? name += “홍”; 구문이 실행될 때 실제로는 스트링 버퍼를 새로 생성해서 name이 가리키는 “길동”을 만들어주고, 스트링 버퍼의 append 함수를 이용하..
2021.08.01
2021.07.31
프로그래머스 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수를 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 조건으로는 2016년은 윤년이고 2016년 a월 b일은 실제로 있는 날이라고 한다. 문제를 풀기 위해 우선 요일을 저장할 배열과 날짜를 저장할 배열을 만들어주고 total이라고 총 일수를 구하는 변수를 만들어준다. for문을 돌면서 일수를 구해주고 입력받은 일수인 b도 더해준다. 월 ~ 일까지 7일이..
2021.07.31
자바 개념 정리_02
Garbage Collection(가비지 컬렉션). 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 기능을 말한다. 시스템에서 GC를 수행하는 부분을 가비지 컬렉터라 부르며 이런 GC때문에 자바에서는 메모리 문제를 신경 쓰지 않아도 된다. Static. 클래스가 로딩될 때, 메모리 공간을 할당하는데 처음 설정된 메모리 공간이 변하지 않음을 의미. 객체를 아무리 많이 만들어도 해당 변수는 하나만 존재(객체와 무관한 키워드) Primitive type과 Reference type. Primitive type: 변수에 값 자체를 저장(정수형, 실수형, 문자형, 논리형) / Wrapper Class를 통해 객체로 변환 가능 Reference type..
2021.07.30
코딩테스트 연습_0729
프로그래머스 SQL 고득점 KIT 풀어보기_3(SQL 고득점 KIT관련 마지막 포스팅) JOIN > 있었는데요 없었습니다 문제: 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다. ANIMAL_INS ANIMAL_OUTS 풀이: 우선 두 테이블을 A, B로 간략화해주고 INNER JOIN으로 아이디 같은것들 먼저 뽑아주기. SELECT문에는 두 테이블이 공통으로 ID와 NAME이 있으니깐 A꺼 써줄지 B꺼 써줄지 지정하기. 보호 시작일보다 입양일이 더 빠른 동물을 찾아야 하니깐 DATETIME 비교해서 입양 들어온 날짜가 더 뒤에인거 찾아주기. SELE..
2021.07.29
2021.07.29
백준 5단계(1 ~2번 문제) 1번 문제의 경우 N 개의 숫자가 주어졌을 때 최대값, 최소값 구하는 문제였다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수라는 조건이 있어서, 최소값을 저장할 변수 min과 최대값을 저장할 변수 max에 이 값들을 초기값으로 설정해 주었다. 정수형 배열 하나 선언하고 for문을 돌면서 min, max 값이 arr[i]값 비교해주면 해결. Scanner sc = new Scanner(System.in); int min = -1000000; int max = 1000000; int n = sc.nextInt(); int[] arr = new int[n]; for(int i = 0; i < n; i++) { arr[i] = sc.ne..
2021.07.29
자바 개념 정리_01
Java. Java는 네트워크 상에서 쓸 수 있도록 미국의 Sun마이크로시스템사가 개발한 객체 지향 프로그래밍 언어. OOP란. OOP란 Object-Oriented Programming의 약어로써 객체지향 프로그래밍을 의미. 데이터를 객체로 취급하여 프로그램에 반영한 것이며, 순차적으로 프로그램이 동작하는 기존의 것들과는 다르게, 객체와 객체의 상호작용을 통해 프로그램이 동작하는 것을 말한다. 특징으로는 높은 코드 재사용성, 코드의 변경이 용이, 개발속도 향상, 상속을 통한 장점 극대화. 자바 Collection(List, Set, Map). 자바 Collection은 자바에서 기본적인 자료구조를 제공하기 위한 환경. List는 순서가 있는 집합으로 데이터의 중복을 허용한다. Set은 순서를 유지하지 ..
2021.07.29
코딩테스트 연습_0728
프로그래머스 SQL 고득점 KIT 풀어보기_2 GROUP BY > 동명 동물 수 찾기 문제: 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요. 풀이: 이름 없는 동물은 집계에서 제외해야 하므로 WHERE절에 IS NOT NULL조건 걸어주기. 횟수 구해야하니까 COUNT함수 써주고 이름 순 조회라 ORDER BY는 NAME으로. GROUP BY절에 이름으로 묶어주고 두 번 이상 쓰인거니깐 HAVING절에 카운트가 1보다 클 때로. 이번 문제 같은 경우는 MySQL로 풀어보았다ㅎㅎ SELECT NAME, COUNT(NAME) AS 'COUNT' FROM..
2021.07.28