전체 글 118

[프로그래머스] Level2) NULL 처리하기

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

[프로그래머스] Level1) 이름이 있는 동물의 아이디

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

[프로그래머스] Level1) 이름이 없는 동물의 아이디

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

[프로그래머스] Level4) 입양 시각 구하기(2)

문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE NAME VARCHAR(N) TRUE SEX_UPON_OUTCOME VARCHAR(N) FALSE 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각..

[프로그래머스] Level1) 3진법 뒤집기

문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한 조건 n은 1 이상 100,000,000 이하인 자연수입니다. 풀이 과정 (자바) ArrayList lst를 생성했다. 그리고 while 문을 돌면서 입력받은 n을 3으로 나눈 나머지 값을 lst에 넣었다. while 문은 n을 3으로 나눠 0보다 클 때까지 진행했다. int 형 배열 arr를 lst의 size 만큼으로 생성했고, int 형 j를 0으로 초기화했다. for 문을 돌면서 lst에 있는 값을 arr에 넣었다. int 형 answer, cnt, mul을 각각 0, 0, 1로 초기화했다. while 문을 돌면서 m..

[IT 지식] 3진법

삼진법은 3을 밑으로 하는 기수법이다. 0, 1, 2의 합계 3개의 숫자를 사용하고, 3을 10, 4를 11로 표기한다. 3마다 자릿수가 올라간다. 수열의 진행 방법 (10까지) 삼진법 십진법 0 0 1 1 2 2 10 3 11 4 12 5 20 6 21 7 22 8 100 9 101 10 십진수를 3으로 나뉘지 않을 때까지 나눠 나머지 값들을 순서대로 기입하면 삼진수 값이 나온다. 예시) 45(10) => 1200(3) 1200(3) => 45(10) 참고: 위키백과 https://ko.wikipedia.org/wiki/%EC%82%BC%EC%A7%84%EB%B2%95 삼진법 - 위키백과, 우리 모두의 백과사전 삼진법(三進法, 영어: Ternary, base 3)은 3을 밑으로 하는 기수법이다. 비트와..

기타/IT 지식 2021.11.11

[프로그래머스] Level1) 예산

문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 제한 조건 d는 부서별로 신청한..

[프로그래머스] Level1) 두 개 뽑아서 더하기

문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 조건 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 풀이 과정 (자바) ArrayList lst를 생성했다. 이중 for 문을 돌면서 numbers 첫 번째 값과 두 번째 값, 세 번째 값,....을 더했고, 이때 더한 값이 lst에 없으면 lst에 추가했다. for 문을 종료하고, int 형 배열 answer를 lst의 size 만큼으로 생성했다. for 문을 돌면서 lst에 있는 값을 answer에 넣었다. Ar..

[JAVA] Set, HashSet, TreeSet

import java.util.Set; import java.util.HashSet; import java.util.TreeSet; Set 1) 저장 순서 유지 X 2) 중복 저장 허용 X HashSet // 해시 알고리즘 이용 HashSet hs = new HashSet(); hs.add(3); hs.add(2); hs.add(1); hs.add(1); System.out.println(hs); // [1, 2, 3] TreeSet // 이진 검색 트리 - 레드-블랙 트리 이용 (데이터 정렬된 상태) TreeSet ts = new TreeSet(); ts.add(3); ts.add(2); ts.add(1); ts.add(1); System.out.println(ts); // [1, 2, 3]

JAVA 2021.11.09