본문 바로가기

Algorithm48

[Programmers/Lv.3] 야근 지수 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 야근 지수 ▏문제 설명 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간 동안 작업량 1만큼을 처리할 수 있다고 할 때, 퇴근까지 남은 N 시간과 각 일에 대한 작업량 works에 대해 야근 피로도를 최소화한 값을 리턴하는 함수 solution을 완성해주세요. 제한사항 ◦ works는 길이 1 이상, 20,000 이하인 배열 ◦ works의 원소는 50000 이하인 자연수 ◦ n은 1,000,000 이하인 자연수 ▏문제 풀이 추후에 설명 작성하겠습니다.. 2022. 12. 23.
[Programmers/Lv.3] 최고의 집합 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 최고의 집합 ▏시작하는 말 오래간만에 프로그래머스 문제를 풀어봤다. 이번 문제는 LV3 단계인게 믿기지 않을만큼 쉽게 풀 수 있었다. 이 문제의 원리만 파악한다면 누구든 쉽게 풀 수 있으리라 생각한다. ▏문제 설명 자연수 n 개로 이루어진 집합 중 다음 두 조건을 만족하는 집합을 최고의 집합이라고 정의한다. 1. 각 원소의 합이 S가 되는 수의 집합 2. 위 조건을 만족하면서 각 원소의 곱이 최대가 되는 집합 n=2, s=9 일 때를 예를 들자면, 조건 1을 만족하는 집합은 { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 }이다. 조건 1을 만족하며 조건 2를 만족하는 집합은 { 4, 5 }가 된다. 제한사항 ◦ 집합은 오.. 2022. 12. 8.
[programmers/Lv3] 브라이언의 고민 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 브라이언의 고민 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/1830 코딩테스트 연습 - 브라이언의 고민 programmers.co.kr 문제 풀이 public class Brianstrouble { String answer; boolean checkRule1 = true; boolean checkRule2 = true; Map lowerMap; public String solution(String sentence) { answer = ""; lowerMap = new HashMap(); // 변형된 문자열은 공백 X야함. 근데 있을 경우 invalid if(sentence.conta.. 2022. 6. 20.
리눅스 mysql DB , table 백업 및 복원하기 ▏목적 ◦ mysql 백업 및 복원하기 ▏시작하는 말 혼자 프로젝트를 진행했을 땐 데이터베이스의 백업의 필요를 느끼지 못했다. 회사에서 업무를 하면서 DB이관, 변경 등 많은 작업을 하면서 백업&복원의 필요성을 알고 사용하게 됐다. 그래서 오늘은 리눅스 환경에서의 mysql 백업, 복원하는 방법을 설명해보려고 한다. ▏MySQL 백업 백업의 기본 구조는 아래와 같다. 자세한 설명을 보고 싶다면 쉘 창에 mysqldump --help 명령어를 치면 된다. Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databa.. 2022. 3. 29.
실행계획(Explain Plan) 이란? ▏시작하는 말 지난 포스팅인 옵티마이저에 이어, 그와 한 몸이라고 할 수 있는 실행계획을 오늘 설명해보겠다. 옵티마이저를 모른다면 옵티마이저란? 포스팅을 먼저 보고오면 좋다. ▏실행계획(Explain Plan) sql문이 어떻게 실행되고 작동하는지 점검하기 위해 사용하는 것으로, sql문의 액세스 경로를 확인하고 튜닝할 수 있게 sql 문을 분석, 해석하여 실행계획을 수립한 후 plan_table에 저장하는 명령이다. 사용방법 EXPLAIN PLAN [SET STATEMENT_ID = 'STATEMENT_ID'] FOR [SQL STATEMENT] ** 업무중이므로 자세한 정리는 추후에 하도록 하겠습니다. ** 2022. 2. 3.
옵티마이저 란? ▏시작하는 말 회사에서 업무를 하면서 한 업체에서 문의가 왔다. DB 툴에서 쿼리문을 수행했을 땐 정상적으로 빠르게 데이터를 가지고 오는데 was서버 화면단에서 서비스 조회 시 2분가량의 로딩 이슈 문의였다. 우리 측 서버 문제가 아닌, db query의 효율 문제이다. 같은 쿼리 문이더라도 디비 툴에서는 자체적인 옵티마이저가 실행되어 빠르게 된 것이다. 오늘은 그 개념인 옵티마이저를 설명해보겠다. * 혼자 공부하기 위해 워드에 작성해둔 내용으로 추후에 블로그에 맞게 수정하겠습니다. * ▏옵티마이저 옵티마이저 란 ? 개발자가 sql을 작성하여 실행하면, 소프트웨어의 실행파일처럼 즉시 실행 되는 것이 아니라, 옵티마이저는 이 쿼리문을 어떤 방법으로 실행시킬지 여러가지 실행계획(explain plan)을 세.. 2022. 1. 25.
[CentOS 7] MySQL 설치하기 CentOS 7 에 MySQL 5.7 설치하기 -권한이 없다면 앞에 sudo를 붙여주면 된다. 1. MySQL 5.7 리포지토리를 설정한다. yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 2. MySQL 5.7 패키지를 설치한다. yum install mysql-community-server MySQL 시작 부팅시 자동으로 시작할 수 있게 설정한다. systemctl enable mysqld systemctl start mysqld 나머지는 추후에 작성하겠습니다. 2021. 11. 2.
[Programmers] (JOIN) 총 4문제 - MySQL 알고리즘 문제 풀이 / 프로그래머스 (programmers) - JOIN 문제 링크 없어진 기록 찾기 : https://programmers.co.kr/learn/courses/30/lessons/59042 있었는데요 없었습니다 : https://programmers.co.kr/learn/courses/30/lessons/59043 오랜 기간 보호한 동물(1) : https://programmers.co.kr/learn/courses/30/lessons/59406 보호소에서 중성화한 동물 : https://programmers.co.kr/learn/courses/30/lessons/59408 문제 풀이 레벨3, 레벨4로 구성된 JOIN 문제였다. 각각의 문제를 설명하기보다 join 에 대해 정리한 개념을.. 2021. 10. 11.
[Programmers] (IS NULL) 총 3문제 - MySQL 알고리즘 문제 풀이 / 프로그래머스 (programmers) - IS NULL 문제 링크 이름이 없는 동물의 아이디 : https://programmers.co.kr/learn/courses/30/lessons/59039 이름이 있는 동물의 아이디 : https://programmers.co.kr/learn/courses/30/lessons/59407 NULL 처리하기 : https://programmers.co.kr/learn/courses/30/lessons/59410 문제 풀이 이번 문제들도 쉽기 때문에 마지막 문제만 간략하게 설명하겠습니다. 혹시나 모르는 점이나 궁금한 점이 있다면 댓글로 남겨주세요. 마지막 문제는 'NAME'이 NULL 일 경우 'No name' 으로 해줘야 하므로 IFNULL(.. 2021. 10. 10.
반응형