본문 바로가기

프로그래머스52

[C++] 프로그래머스 : 더 맵게 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 문제 풀이 우선순위 큐를 사용하면 아주 쉽게 풀 수 있는 문제이다. 큐를 우선 오름차순으로 정렬해준다. 맨 앞에 오는 값들은 스코빌 지수가 작은 순서대로 위치할 것이고 맨 앞의 스코빌 지수가 기준인 K보다 크다면 그 이후의 모든 값들은 K보다 크다. 따라서, 맨 앞의 두 개를 계산해주고 K보다 큰지만 따져주면 된다. 큐의 크기가 1인데 K보다 낮다면.. 2021. 10. 7.
[C++] 프로그래머스 : 위클리 챌린지 (8주차) https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 8주차 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 문제 풀이 가로 중에서 제일 긴 사이즈와 세로 중에서 가장 긴 사이즈를 찾아서 리턴하면 된다! 특별하게 여유 폭 이런 게 없는 문제이므로 찾기만 하면 된다. 느낀 점 위클리 테스트 치고는 어렵지 않았다! 코드 #include #include #include using namespace std; int solution(vector sizes) { int max_x = 0,.. 2021. 10. 3.
[C++] 프로그래머스 : 기능개발 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 문제 풀이 반복문과 조건문으로 스택/큐 없이 직관적으로 풀었다. 프로세스의 값이 100 이상이라면 다음 프로세스의 크기를 확인해서 cnt를 +1 해준다. 아니라면 모든 프로세스의 속도만큼 더 해준다. 이때, 프로세스의 값이 이미 100 이상이라면 continue로 건너뛴다. cnt 값이 1 이상일 때 answer에 값을 push 해주고 idx에 더해준다... 2021. 10. 2.
[C++] 프로그래머스 : 124 나라의 숫자 https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 문제 풀이 3개의 숫자만 쓸 수 있다는 점이 3진수를 사용하라는 힌트이다. 여기서 주의해야 할 점은 3으로 나누어 떨어지는 경우이다. 10진수 3진수 124나라 1 1 1 2 2 2 3 10 4 4 11 11 - - - 12 110 44 3으로 나누어 떨어지는 경우에는 몫이 하나 남기 때문에 -1을 해줘야 한다. 그 외에는 수 체계 바꾸기와 동일하게 하면 된다! 느낀 점 보자마자 3진수를 생각해냈지만 수를 바꾸는데서 많이 헤맨 거 같다.. 코드 #include using namespace std; string solution(int .. 2021. 10. 2.
[C++] 프로그래머스 : 멀쩡한 사각형 https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 문제 풀이 (x, y) 좌표로 생각해서 접근할 수 있다. 느낀점 이전에 한번 풀었던 문제이다. 코드 #include using namespace std; long long solution(int w, int h) { long long answer = 0; for (int i = 1; i 2021. 10. 1.
[C++] 프로그래머스 : 단체사진 찍기 https://programmers.co.kr/learn/courses/30/lessons/1835 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr 문제 풀이 백트래킹을 통해서 구현하였다. 거리는 따지는 것이 중요하다. 인덱스를 통해서 둘 사이의 거리를 따지기 때문에 주어진 조건의 거리에서 +1 된 값으로 비교해야 한다. 느낀 점 C++에서 제공하는 "next_permutation" 함수로 해결해도 되는 문제이지만 백트래킹으로 구현하고 싶어서 구현했다. 사실 그렇게 크게 어렵지 않은 문제인데 백트래킹이 오.. 2021. 9. 30.