본문 바로가기

728x90
반응형

프로그래머스

(13)
[프로그래머스] Java Lv2. 코딩테스트 연습 > 2022 KAKAO BLIND RECRUITMENT > 두 큐 합 같게 만들기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제설명길이가 같은 두 개의 큐가 주어진다.하나의 큐를 골라 원소를 추출(pop)하고 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만드려고 한다.한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주한다.각 큐의 원소 합을 같게 만들기 위해 필요한 작업의 최소 횟수를 반환하도록 하고 불가능할 경우 -1을 반환한다.제한사항1 1 접근방법문제에도 나와있다싶이 queue의 원소가 10억 이하이므로 하나의 큐의 합이 최대 10억 * 300,000이 될 수 있으니 합계는 long을 사용하여 구한다.목..
[프로그래머스] Java Lv2. 코딩테스트 연습 > 2022 KAKAO BLIND RECRUITMENT > 양궁대회 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제설명점수를 내는 방법은x점에 1번 사수가 y발을 맞혔을 경우 2번 사수는 y+1발 이상을 맞혀야 x점을 가져간다.x점을 y발을 맞혀도 x점만 가져간다.x점을 둘다 못맞히면 둘다 해당 점수를 자져가지 못한다.최종 점수가 동점이면 1번 사수가 승리한다.1번 사수가 활을 n발을 쏴서 1~10점까지의 점수에 각각 몇발을 맞혔는지가 주어진다.이 때 2번사수가 가장 많은 점수차로 이기는 경우 각 점수에 몇발을 맞혔는지 배열로 반환하고 경우의 수가 없는 경우 -1을 반환하여야 한다.같은 점수차가 여러 가지일 경우 가장 낮은 점수를 더 많이 맞힌 경우를 return한다..
[프로그래머스] Java Lv2. 코딩테스트 연습 > 2023 KAKAO BLIND RECRUITMENT > 이모티콘 할인행사 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제설명사용자 정보 배열에 [이모티콘을 구매할 할인율(비율), 이모티콘 플러스 구매결정 금액(가격)]이 담겨있다.이모티콘 배열에 현재 이모티콘들의 가격이 담겨있다.이모티콘별로 할인율이 결정(10%, 20%, 30%, 40%)되는데, 각각의 사용자는 개인의 이모티콘을 구매할 할인율 이상이 적용된 이모티콘을 구입하게 된다.(구매하기로 결심한 이모티콘들의 할인율이 적용된 가격의 총합) >= (본인의 이모티콘 플러스 구매결정 금액) 이라면 이모티콘 서비스를 가입하게 된다.이모티콘 서비스 가입자 수를 최대일 때의 판매액 최고 금액을 return한다.제한사항1 1 1..
[프로그래머스] Java Lv2. 코딩테스트 연습 > 2023 KAKAO BLIND RECRUITMENT > 택배 배달과 수거하기(그리디) 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제설명택배 상자를 최대 cap개 실을 수 있는 트럭이 있다.일렬로 나열된 n개의 집에 택배를 배달하거나, 빈 택배박스를 수거해 물류창고로 가져와야 한다.모든 배달과 수거를 마치고 물류창고까지 돌아올 수 있는 최소 이동 거리를 구하려고 한다.각 집에 배달 및 수거할 때, 원하는 개수만큼 택배를 배달 및 수거할 수 있다.제한사항1 1 deliveries의 길이 = pickups의 길이 = ndeliveries[i]는 i+1번째 집에 배달할 재활용 택배 상자의 개수pickups[i]는 i+1번째 집에서 수거할 빈 재활용 택배 상자의 개수0 트럭 초기 위치는 물류..
[프로그래머스] Java Lv2. 코딩테스트 연습 > PCCP 기출문제 > 석유 시추 (BFS 예제) 문제설명세로 길이가 n, 가로 길이가 m인 격자 모양의 땅 속에 여러 덩어리로 나누어 묻혀있는 석유가 있다.수직으로 단 하나의 시추관을 뚫었을 때 가장 많은 석유를 뽑을 수 있는 시추관의 위치를 찾아라.제한사항1 1 land[i][j]는 i+1 행 j+1 열 땅의 정보를 나타냄land[i][j]는 0 이면 빈 땅을, 1 이면 석유가 있는 땅을 의미접근방법효율성 테스트를 하는 것으로 보아 시추관의 위치를 옮기며 전체 탐색을 하는 것이 아닌 오일의 위치에 대한 정보를 먼저 파악하는 것이 필요하다 -> BFS를 사용한다land를 순차적으로 탐색하면서 석유(1)를 발견하면 해당 덩어리에 id를 부여하고 연결된 석유의 총 량을 파악한다.시추관을 옮기면서 해당 위치에 존재하는 석유 id를 통해 석유 총 량 합계를 ..
[프로그래머스] Java Lv2. 코딩테스트 연습 > 2024 KAKAO WINTER INTERNSHIP > 도넛과 막대 그래프 문제설명크기가 n인 도넛 모양 그래프는 n개의 정점과 n개의 간선이 있다.아무 한 정점에서 출발해 이용한 적 없는 간선을 계속 따라가다 보면 n-1개의 정점들을 한 번 씩 방문 뒤 원래 정점으로 돌아온다.크기가 n인 막대 모양 그래프는 n개의 정점과 n-1개의 간선이 있다.임의의 한 정점에서 출발해 간선을 계속 따라가면 나머지 n-1개의 정점을 한 번씩 방문하게 되는 정점이 단 하나 존재한다.크기가 n인 8자 모양 그래프는 2n+1개의 정점과 2n+2개의 간선이 있다.크기가 동일한 2개의 도넛 모양 그래프에서 정을 하나씩 골라 결합한 형태이다.도넛 모양 그래프, 막대 모양 그래프, 8자 모양 그래프가 여러개 있다.이 그래프들과 무관한 정점을 하나 생성 한 뒤, 각 도넛 모양 그래프, 막대 모양 그래프, ..
[프로그래머스] Java Lv2. 코딩테스트 연습 > 2018 KAKAO BLIND RECRUITMENT > [3차] 방금그곡 42583 문제설명방금그곡 서비스에서는 음악 제목, 재생이 시작되고 끝난 시각, 악보를 제공한다.네오가 기억한 멜로디와 악보에 사용되는 음은 C, C#, D, D#, E, F, F#, G, G#, A, A#, B 12개이다.각 음은 1분에 1개씩 재생된다. 음악은 반드시 처음부터 재생되며 음악 길이보다 재생된 시간이 길 때는 음악이 끊김 없이 처음부터 반복해서 재생된다. 음악 길이보다 재생된 시간이 짧을 때는 처음부터 재생 시간만큼만 재생된다.음악이 00:00를 넘겨서까지 재생되는 일은 없다.조건이 일치하는 음악이 여러 개일 때에는 라디오에서 재생된 시간이 제일 긴 음악 제목을 반환한다. 재생된 시간도 같을 경우 먼저 입력된 음악 제목을 반환한다.조건이 일치하는 음악이 없을 때에는 “(None)”을 반환한다.접근방..
[프로그래머스] Java Lv2. 코딩테스트 연습 > 2018 KAKAO BLIND RECRUITMENT > [3차] 파일명 정렬 17686 문제설명파일명이 HEAD, NUMBER, TAIL 세 부분으로 구성되어 있다.파일명은 우선 대,소문자 구분 없이 HEAD 부분을 기준으로 사전 순으로 정렬한다.파일명의 HEAD 부분이 대소문자 차이 외에는 같을 경우, NUMBER의 숫자 순으로 정렬한다.두 파일의 HEAD 부분과 NUMBER의 숫자도 같을 경우, 원래 입력에 주어진 순서를 유지한다.접근방법파일명에서 처음 나오는 숫자를 기준으로 HEAD, NUMBER, TAIL을 구분.정렬 기준에 따라 sort 진행핵심로직파일명의 형태가 정해져 있으므로 숫자, 문자를 기준으로 split 하여 HEAD와 NUMBER를 찾아낸다.찾아낸 HEAD와 NUMBER를 토대로 문제에서 요구하는 기준에 따라 정렬 값 return입출력 예입력: ["img12.png", ..

728x90
반응형