전체 글 101

[백준/파이썬] 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

[VSCODE/Jupyter Notebook] 주피터 노트북 셀 언어가 CVE로 뜨는 경우 해결 방법

VSCODE에서 주피터 노트북 사용할 때 셀 언어가 CVE로 보이는 경우 해결법 주피터 노트북에서 코드를 입력했을 때 언어가 CVE로 선택되면 색깔도 입혀지지 않고 단축키도 먹히지 않는다. 셀 오른쪽 아래 언어를 보면 python 이 아니고 낯선 CVE로 되어있는 것을 볼 수 있다. 원래는 이렇게 색깔도 입혀지고 실행도 제대로 되어야 정상. 해결법 1. 1) CVE를 클릭하면 언어 변경을 할 수 있다. 2) python 클릭 이렇게 해서 해결되면 별 문제 아니지만, python을 아무리 클릭해도 바뀌지 않는 경우가 있다. 해결법 2. 1) vscode의 extension -> Dependency Analytics 검색 2) 맨 위에 나오는 Dependency Analytics 클릭 3) Dependenc..

Study/Python 2022.01.28

[Springboot / MariaDB] MariaDB와 SpringBoot 연동 시 Cannot load driver class: com.mariadb.jdbc.Driver 에러 해결법

작업 환경 Windows 10 Intellij IDEA 2021.12 Java 8 MariaDB 10.6 sdk 1.8.0 maven 스프링부트 실행 후 mariaDB와 연동하는 작업 중 에러 발생 Cannot load driver class: com.mariadb.jdbc.Driver 이 문제를 해결하기 위해 꼬박 이틀을 썼는데, 똑똑하신 분의 도움으로 단 10분만에 해결이 가능했다. 부들.. 구글링해보면 대략 두 가지의 해결방법이 나온다. 1. java의 버전과 jdbc의 버전이 달라 생기는 문제로 버전을 맞춰준다. 2. maven repository에서 해당 버전 찾아서 다운받아서 dependency에 추가한다. 하지만 두 가지 방법 모두 먹히지 않았음 그렇다면, 마지막 이 방법을 써보자! 1. 일..

Study/SpringBoot 2022.01.21

[SpringBoot/MariaDB] Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 에러 해결법

작업 환경 Windows 10 Intellij IDEA 2021.12 Java 8 MariaDB 10.6 sdk 1.8.0 maven Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class 위와 같은 에러가 뜬다면 application.properties 에서 아래의 내용을 추가해주면 된다. spring.datasource.driverClassName=com.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://[주소..

Study/SpringBoot 2022.01.21

[자료구조/파이썬] 스택(Stack) / 큐(Queue) 개념 및 구현

1. 자료구조 (Data Structure) - 자료구조 : 데이터를 표현하고 관리하고 처리하기 위한 구조 2. 스택과 큐 - 스택과 큐는 삽입(push) 과 삭제(pop) 함수로 구성된다. - 삽입(push)함수는 자료구조에 데이터를 삽입하는 역할을 하고, 삭제(pop)함수는 자료구조에서 데이터를 삭제하는 역할을 한다. 스택과 큐를 사용할 때 주의해야하는 부분 → 오버플로우와 언더플로우 - 오버플로우(overflow)는 특정 자료구조에 수용할 수 있는 데이터의 크기를 넘어선 상태에서 삽입연산을 수행하는 경우 발생한다. → 저장공간을 벗어나 데이터가 넘칠(over)때 발생한다. - 언더플로우(underflow)는 자료구조에 데이터가 전혀 들어있지 않은 상태에서 삭제연산을 수행하는 경우 발생한다. 3. 스..

Study/Algorithm 2022.01.08