CodingTest/Programmers

프로그래머스 코딩 기록
문제 https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 두 집합은 큐라는 특성을 가지고, 두 집합의 원소의 합이 서로 같아질 때까지 몇 번 연산해야 하는지 구해야 합니다. 여기서 연산은 pop과 insert 한번입니다. 우선 설명을 쉽게 하기 위해서 queue1을 F, queue2를 S, queu1의 원소합을 f, queue2 원소의 합을 s라고 하겠습니다. 당연하게도! F와 S의 합이 홀수라면 절대로 두 집합의 합은 같아질 수가 없..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📕문제 풀이 무적권을 적절한 라운드에 사용해서 최대한 많은 라운드를 버텨야 한다. 따라서 무적권을 사용하는 라운드를 선정하는 방법이 중요하다! 📗초기 풀이 방식 초기 풀이 방식은 queue에 넣어서, 모든 경우의 수를 탐색했다. 하지만 N의 길이가 커서 시간초과가 났다. 초기 알고리즘은 이렇다. queue에 원소를 계속 넣어서, 만약 가용가능한 병사의 수가 현재 라운드의 적의 수보다 적으면..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 해석 출발점에서 레버를 당겨서 탈출점까지의 최소 경로를 구하는 문제입니다. BFS 알고리즘을 사용해서 쉽게 풀 수 있습니다. 문제는 굉장히 간단합니다..(저는 너무 복잡하게 생각해서 오래 걸렸습니다ㅜㅜ) 문제를 보면 출발정메서 레버로 있는 칸으로 이동하고, 레버를 당긴 후, 탈출점으로 이동하라고 나와 있습니다. 이 문제는 반드시 탈출을 하기 위해서는 레버를 당겨야 합니다. 만약 출발..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 해석 우선 문제를 읽고, DFS 혹은 백트래킹으로 풀어야겠다고 생각을 했습니다. 쭈욱 진행하다가, 만약 끝에 도달했을 때의 점수를 비교해서, 가장 큰 점수로 이기는 방법을 계속 찾아줬습니다. 문제에서는 만약 가장 큰 점수로 이기는 방법이 여러 가지라면, 특수한 조건을 부여했고, 그 조건도 그렇게 어려운 조건이 아닙니다. 문제에서 포인트는 이 문제를 DFS로 풀어야 한다는 것입니다. 우..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 설명 곡괭이의 종류는 3개이고, 광물의 종류는 3개입니다. 곡괭이 하나로 광물을 5개 캘 수 있고, 5개를 연속으로 캐며, 5개를 캐면 다시는 사용하지 못합니다. 곡괭이로 광물을 캘 때, 광물에 따라 피로도가 다릅니다. 다이아 곡괭이 -> 모두 피로도가 1 철 곡괭이 -> 다이아 = 5, 나머지 =1 돌 곡괭이 -> 다이아 = 25, 철 = 5, 돌 = 1 종료조건은 모든 곡괭이를 ..
📕문제 https://school.programmers.co.kr/learn/courses/30/lessons/92341# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡문제 요점 입차시간과 출차시간을 비교해서 계속해서 누적 주차시간을 더해줘서 결과적으로는 차량별로 주차요금을 계산하는 문제입니다. 여기서 중요한 점은 바로 차량번호를 오름차순으로 정렬해서 주차요금을 계산해줘야 합니다. 🔎문제 풀이 우선 차량은 입차와 출차. 두 가지 경우의 수가 있습니다. A가 입차를 했을 경우, 다시 A가 들어왔다면 출차인 경우입니다. A가 입차를 했는데, 만약 A가 다..
문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해석 최소 거리로 모든 배달과 수거를 마쳐야 한다. 항상 모든 배달과 수거는 거리가 먼 집을 우선적으로 해결해야 한다. 문제 풀이 우선 입력받은 배달배열과, 수거 배열들을 초기화하는 작업을 시켜야 합니다. 초기화작업은 맨끝에서 부터 이루어지며, 값이 0이라면 배열에서 제외시켜 줍니다. 0,1,0이라면 맨 끝에 0만 제거됩니다. 즉 , 한 번이라도 0이 아닌 값을 만난다면 탈출해 줍..
문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 해석 문제에서 목표는 2가지 있습니다. 이모티콘 플러스 서비스 가입자를 최대로 하는 것 이모티콘 판매액을 최대한 늘리는 것. 여기서 1번 목표를 최우선시로 하고, 그다음 목표가 2번입니다. 이모티콘의 할인률은 정해져 있습니다. 10%, 20% , 30%, 40% 각 이모티콘의 할인율을 조정해서, 우리는 최대한 많은 서비스 가입자를 모아야 합니다. 판매금액도 최대로 해야 하구요 ..
📕문제 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해 주세요. 🛑제한사항 arr의 행의..
재한
'CodingTest/Programmers' 카테고리의 글 목록 (4 Page)