문제(영어)문제 번역못생긴 숫자는 2,3,5 외에는 소인수가 없는 양의 정수이다. 정수 n이 주어졌을때 만약 못생긴 숫자면 true를 반환해라. 접근 방법먼저 제약 조건을 보니 n은 4 byte integer 범위의 수인 것을 알 수 있다.못생긴 숫자는 양수만 다루니 1보다 작은 모든 수는 false인 것을 알 수 있다. 그 다음 소인수 분해를 해야하는데, 2,3,5 숫자 3개로만 소인수 분해를 하면 된다.만약 소인수 분해를 했는데 이 이외의 수를 소인수로 갖고 있다면 false를 반환 하고 아니면 true를 반환하면 된다. 먼저 입력받은 수 n을 2로 나눈 나머지가 0인동안(즉, 2로 나눠지는 동안) 2로 계속해서 나눈다.그 다음 3으로 나눈 나머지가 0인동안(즉, 3으로 나눠지는 동안) 3으로 계속..
리팩토링 배경내가 속한 학생단체는 20년 넘게 오랜기간동안 우리 대학교에서 소프트웨어를 만들어왔다.그래서 오래전에 작성한 웹서비스가 아직도 돌아가고 있는 경우가 있다. 그러다보니 배포 방식에도 관련해서 문제가 생겼다.최근 추세는 쿠버네티스(이하 k8s)클러스터에 배포하는 방향으로 서비스를 배포하는데, 오래전에 작성한 웹서비스는 물리 서버 위에 Virtual Machine을 만들어 그 위에서 돌아가는 형태로 구축되어 있다. 이러다보니 여러가지 문제점이 생기는데,1. 배포 방식이 단일화되지 않아 배포에 불편함이 생긴다.2. 이미 할당된 VM의 공간이 부족해지면 더이상 파일을 못올린다. 2번 문제의 경우 특수한 경우이다.우리 서버는 핫스왑베이에 디스크가 모두 장착되어 있고, VM 할당도 이상하게 되어 더이상 ..
Problemhttps://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr사전에 알파벳 모음 A,E,I,O,U 만 사용해 만들 수 있는 길이 5 이하의 단어가 수록되어 있다사전에서 첫 단어는 A 이다사전에서 두 번째 단어는 AA 이다사전에서 마지막 단어는 UUUUU 이다단어가 주어질 때, 해당 단어가 사전에서 몇번째에 위치했는지 반환해라.Input / Output Exampleswordresult"AAAAE"6"AAAE"10"I"1563 사전에서 단어는 A,AA,AAA,AAAA,AAAAA,AAAAE,AAA..
Problemhttps://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr\(n\) 개의 송전탑이 전선을 통해 하나의 트리로 연결되어 있다.전선들 중 하나를 끊어 전력망 네트워크를 2개로 분할하려 한다.이때, 두 전력망의 송전탑의 개수를 최대한 비슷하게 맞추고자 한다.송전탑의 개수와 전선 정보가 주어질 때, 두 전력망이 가지고 있는 송전탑 개수 차이의 절댓값을 반환해라.Input / Output Examplesnwiresresult9[[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8..
Problemhttps://school.programmers.co.kr/learn/courses/30/parts/12230 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr현재 체력과 각 던전을 탐험하기 위한 [던전 입장에 필요한 피로도, 소모 피로도] 리스트가 주어진다최대한 많은 던전을 탐험하고자 할때, 최대 탐험할 수 있는 던전 수를 반환해라Input / Output Examplekdungeonsresult80[[80,20], [50,40], [30,10]]3 Solution나의 경우에는 순열과 중첩반복문을 사용해 \(O(n! + t^2)\) 의 시간복잡도가 걸렸다.순열로 접근한다고 해도, dungeo..
Problemhttps://school.programmers.co.kr/learn/courses/30/parts/12230 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr한자리 숫자가 적힌 종이 조각이 흩어져 있다.흩어진 종이 조각을 붙여 만들 수 있는 소수의 개수를 구해라각 종이 조각에 적힌 숫자가 문자열로 주어질 때, 만들 수 있는 소수의 개수를 반환해라Input / Output Examplenumbersreturn"17"3"011"2 Solution일단 해당 코드가 완전탐색 카테고리에 있으니.. 단순 무식하게 모든 경우의 수를 다 구하는 방법으로 접근했다.파이썬 itertools의 permutati..
Problemhttps://school.programmers.co.kr/learn/courses/30/parts/12198 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krH-Index는 과학자의 생산성과 영향력을 나타내는 지표이다.어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고, 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 H-Index이다.어느 과학자의 H-Index를 나타낸는 값인 h를 구해서 반환해라과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 반환해라 Input / Ouput Examplec..
Problemhttps://school.programmers.co.kr/learn/courses/30/parts/12198 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr0 또는 양의 정수가 주어졌을때, 정수를 이어붙여 만들 수 있는 가장 큰 수를 알아내라.[6, 10, 2] 가 들어온다면 그 수를 재배치해서 만들 수 있는 가장 큰 수는 6210이 된다.0 또는 양의정수가 담긴 배결 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 반환하라Input / Output Examplenumbersreturn[6, 10, 2]"6210"[3, 30, 34, 5, 9..
Problemhttps://school.programmers.co.kr/learn/courses/30/parts/12117 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr우선순위 디스크 컨트롤러 라는 가상의 장치는 아래와 같이 동작한다.어떤 요청이 들어올 때, 작업의 번호, 요청 시각, 소요 시간을 저장해두는 대기 큐가 있다.작업의 우선순위가 가장 높은 작업을 큐에서 꺼내 작업한다.우선순위 => 소요시간이 짧은 것 > 요청 시각이 빠른 것 > 작업의 번호가 작은 것 한번 작업을 시작하면 작업을 마칠때까지 그 작업만 수행한다.모든 요청 작업을 마쳤을때 각 작업에 대한 반환시간은 작업 요청부터 종료까지 걸린..
Problemhttps://school.programmers.co.kr/learn/courses/30/parts/12117 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이중 우선순위 큐는 다음 연산을 할 수 있다명령어연산 내용I 숫자큐에 주어진 숫자를 삽입D 1큐에서 최댓값을 삭제D -1큐에서 최솟값을 삭제이 중 우선순위 큐가 할 연산이 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0, 0] 을 반환해라비어있지 않으면 [최댓값, 최솟값]을 반환해라.Input / Output Examplesoperationsreturn["I 16", "I -5643", "D -1", "D 1", "D 1", ..