목록코테/프로그래머스 (27)
우당탕탕 개발일지

문제n: 박스 개수w: 한줄에 박스 개수num: 빼고 싶은 박스 번호 풀이boxArr 2차배열에 제시된 그림처럼 박스 번호를 저장했다.짝수와 홀수에 따라서 저장되는 식을 만들어 넣었다짝수: w * i + (j+1)홀수: w * (i+1) - j 저장하면서 꺼내려고 하는 박스 번호와 마지막 박스 번호를 각각의 변수에 저장했다.꺼내려고 하는 박스위에 몇줄이 있는지 확인하고 그 값을 출력하면 끝..!이 과정이 너무 오래걸림.... ㅠ 다른 사람 코드를 보니 배열에 저장하는 경우는 없었다... 넘 무식하게 푼것 같다...ㅎ다른 방법을 공부해봐야겠다. 최종 코드class Solution { public int solution(int n, int w, int num) { int h = n/w +..

문제같은 시간대에 게임을 이용하는 사람이 m명 늘어날 때마다 서버 1대가 추가로 필요k = 5 일 때 10시에 증설한 서버는 10 ~ 15시에만 운영됩니다. 입출력 예 풀이나는 큐에 삭제할 시간과 개수를 저장해서 관리했다.answer: 결과값serverCount: 현재 서버 개수timeQueue: {삭제한 시간, 개수} 1. 서버 증설해야 하는 경우조건1. 기준 인원보다 접속인원이 이상일 경조건2. 필요한 서버 수보다 현재 서버 수가 적을 경우 해당 조건에 충족하면 증설 회수와 서버 개수 설정한다.그리고 나중에 서버가 삭제 시 필요한 정보를 Queue에 저장한다. 2. 서버 삭제해야 하는 경우조건1. 삭제 정보가 있는 경우조건2. 삭제 시간이 되었을 경우 조건을 충족하면 서버 개수를 재설정 후, 해당 삭..

문제양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요. 입출력 예 풀이사실 어떻게 하라는건지 감이 안옴..... 그래서 일단 엑셀에 한번 표현! '질문하기' 살펴보니까 오른쪽 -> 아래 -> 왼쪽 -> 위 이걸 생각하면서 언제 방향을 바꿀지에 대해서 고민해보라고 했다.. 처음에는 이중 반복문으로 잡고 있다가 while문 사용해보기로..! 변수는 총 4개가 필요했다. row : 행 번호col : 열 번호num : 저장할 숫자d : 이동 방향을 의미하는 변수* 변수 d는 아래와 같은 규칙으로 이동해보기로 했다.0: 오른쪽, 1: 아래, 2: 왼쪽, 3: 위 ..

문제Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항scoville의 길이는 2 이상 1,000,000 이하입니다.K는 0 이상 1,000,000,000 이하입니다.scoville의 원소는 각각 0 이상 1,000,000 이하입니다.모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우에는 -1을 return 합니다. 입출력 예 풀이1차 시도스코빌 지수가 가장 낮은 2개 음식이라고 했으니, PriorityQueue에 저장하여 오름차..

문제 입출력 예시풀이 머리로 잘 그려지지 않아서 엑셀에 표현해봄!나는 프로세스명을 '인덱스P'로 표현하였고 큐에 저장함 currentIndex: 프로세스명에서 추출currentProcess: 실행할 프로세스currentPrioiry: 프로세스의 우선순위maxPriority: 최고 우선순위 현재 프로세스의 우선순위보다 더 높은 프로세스가 있다고 판단>> 큐에 해당 프로세스 add() 현재 프로세스가 가장 높은 우선순위임!answer은 프로세스가 실행한 순서를 의미하기에 +1 현재 실행한 프로세스가 문제에서 원하는 값일 경우에 반환그렇지 않으면 우선순위 재설정함(남아있는 프로세스 중에서 최고 우선순위 값 저장) 최종 코드public int s6(int[] priorities, int loc..

문제대장균 개체의 크기가 100 이하라면 'LOW', 100 초과 1000 이하라면 'MEDIUM', 1000 초과라면 'HIGH' 라고 분류합니다. 대장균 개체의 ID(ID) 와 분류(SIZE)를 출력하는 SQL 문을 작성해주세요.이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요. 결과 예시 풀이CASE 문법을 사용하여야 한다!사실 사용법을 까먹어서... 찾아봤다.. CASE 문법case when 조건 then '값' when 조건 then '값' when 조건 then '값' eles '값'END as 컬럼명 최종 SQLselect ID, case when SIZE_OF_COLONY 1000 then 'HIGH'END as SIZEfrom ECOLI_DATA..

문제천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요. 정답 예시 풀이left join까지 했는데 조건문을 어떻게 작성해야할지 잘 모르겠다...구글링을 해보니 isnull 함수가 있었다. isnull(컬럼)해당 컬럼의 값이 NULL인 행을 남긴다.이를 함수르 이용하여 조건문을 사용하니 쉽게 풀렸다...!! 최종 SQLSELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.NAMEfrom ANIMAL_OUTSleft join ANIMAL_INS on ANIMAL_OUTS.ANIMAL_ID = ANIMAL_INS.ANIMAL_IDwhere isnull(ANIMAL_I..

문제FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요. 결과 예시 풀이1차 시도max(PRICE)로 가장 높은 가격을 출력하긴 했다.하지만 이외의 정보가 맞지 않았다... SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, max(PRICE)from FOOD_PRODUCT 2차시도그래서 조건절에 max(PRICE) 를 사용하였다.하지만 오류발생했다.... max의 기준이 없어서 그런듯하다. SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICEfrom FOOD_PRODUCT where PRICE = ..