Study 94

[프로그래머스/SQL 고득점 Kit] 12세 이하인 여자 환자 목록 출력하기

문제 다음은 종합병원에 등록된 환자정보를 담은 PATIENT 테이블입니다. PATIENT 테이블은 다음과 같으며 PT_NO, PT_NAME, GEND_CD, AGE, TLNO는 각각 환자번호, 환자이름, 성별코드, 나이, 전화번호를 의미합니다. Column name Type Nullable PT_NO VARCHAR(10) FALSE PT_NAME VARCHAR(20) FALSE GEND_CD VARCHAR(1) FALSE AGE INTEGER FALSE TLNO VARCHAR(50) TRUE PATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문을 작성해주세요. 이때 전화번호가 없는 경우, 'NONE'으로 출력시켜 주시고 결과는 나이를 기준으..

Study/SQL 2022.11.08

[프로그래머스/SQL 고득점 Kit] 과일로 만든 아이스크림 고르기

문제 다음은 아이스크림 가게의 상반기 주문 정보를 담은 FIRST_HALF 테이블과 아이스크림 성분에 대한 정보를 담은 ICECREAM_INFO 테이블입니다. FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_ID, FLAVOR, TOTAL_ORDER 는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 상반기 아이스크림 총주문량을 나타냅니다. FIRST_HALF 테이블의 기본 키는 FLAVOR입니다. NAME TYPE NULLABLE SHIPMENT_ID INT(N) FALSE FLAVOR VARCHAR(N) FALSE TOTAL_ORDER INT(N) FALSE ICECREAM_INFO 테이블 구조는 다음과 같으며, FLAVOR, INGREDITENT_TYPE..

Study/SQL 2022.11.08

[백준/파이썬] 4619. 루트

문제 양의 정수 B와 N이 주어졌을 때, B에 가장 가까운 AN의 정수 A를 찾는 프로그램을 작성하시오. AN은 B보다 작거나, 크거나, 같다. 입력 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, B와 N이 주어진다. (1 ≤ B ≤ 1,000,000, 1 ≤ N ≤ 9) 입력의 마지막 줄에는 0이 2개 주어진다. 출력 각 테스트 케이스에 해당하는 A를 출력한다. 아이디어 - 1부터 B까지 N제곱값을 구하자 (A는 B보다 작거나 같은 수 중 하나.) ex) B가 4일 경우, 1부터 4까지의 N제곱을 구한다. 1의 N제곱,, 2의 N제곱,, 3의 N제곱,, - B가 최대 1000000까지 가능한데 제곱의 경우 값이 쉽게 커지므로 1부터 B까지 다 돌 필요는 없음...

[MySQL/Spring] 한글 인코딩 문제 (java.sql.SQLException: Incorrect string value)

java.sql.SQLException: Incorrect string value: '\xEC\x98\xA4\xEB\x8A\x98...' for column MySQL에서 table을 생성할 때 인코딩형식을 미리 정의해주지 않으면 위와같은 에러가 발생한다. 테이블을 만들 때 인코딩 형식을 지정해주면 되지만, 그렇지 못한 경우 ALTER TABLE을 이용해 인코딩 에러를 해결할 수 있다. alter table TABLE_NAME default character set utf8 collate utf8_general_ci; 테이블 생성 시 인코딩 형식 지정해주기 테이블 스키마 뒤에 default character set utf8 collate utf8_general_ci 추가 create table TABLE..

Study/DataBase 2022.04.06

[백준/파이썬] 2108. 통계학

문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. 출력 첫째 줄에는 산술평균을 출력한다. 소수점 이하 ..

[백준/파이썬] 1181. 단어 정렬

문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. 아이디어 - 중복을 쉽게 제거할 수 있고, 정렬할 때 사용하기 쉬운 딕셔너리로 입력값을 저장 - lambda 를 사용해서 정렬 조건을 여러개를 두자. (우선순위 1: 길이가 짧은 것 , 우선순위 2: 길이가 같은 경우 사전 순으로) ..

[백준/파이썬] 1427. 소트인사이드

문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 아이디어 input으로 들어오는 정수를 문자열로 바꿔서 정렬하자. 코드 # 1427. 소트인사이드 number = int(input()) number = sorted(str(number), reverse=True) print(int(''.join(number))) 해설 # 1427. 소트인사이드 number = int(input()) # int형으로 입력받기 # 숫자를 string으로 형변환후 예제출력과 같이 내림차순으로 정렬(reverse..

[Java/Spring] 윈도우 CMD에서 스프링 빌드(build) 하는 방법 (+ Execution failed for task ':compileJava' 에러 해결)

1. Spring 윈도우에서 build 하는 방법 1. CMD 창을 연다 2. 스프링 프로젝트 디렉터리까지 경로를 이동한다. (cmd 상태 : 스프링 프로젝트 위치 > ) 3. gradlew.bat 명령어 실행 ...personal project location> gradlew.bat 4. "BUILD SUCCESSFUL" 이라는 문구가 나오면 gradlew build 명령어 실행 ...personal project location > gradlew build 5. "BUILD SUCCESSFUL" 문구가 뜨면 빌드 성공 6. 5번까지의 과정이 끝나고나면 "build" 디렉터리에 "libs"라는 디렉터리가 새로 생긴다. -> cmd 창에서 "dir" 명령어로 확인 가능 7. cd 명령어로 build 디렉..

Study/SpringBoot 2022.02.25

[파이썬/그리디] 프로그래머스 - 체육복

문제 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성..

Study/Programmers 2022.02.17

[파이썬/해시] 프로그래머스 - 완주하지못한 선수

문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return ["leo", "kiki",..

Study/Programmers 2022.02.16