본문 바로가기

C++105

[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.
[C++] 백준 1935번 : 후위 표기식2 https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 문제 풀이 대표적인 스택 문제이다. 보통 중위 표기식을 후위 표기식으로 바꿀 때에는 연산자를 스택에 넣어서 구현한다. 하지만 이렇게 계산하는 경우에는 스택에 피연산자를 넣어야 한다. 반복문을 통해서 String을 돌아볼 건데 str[i]가 연산자라면 스택 맨위의 피연산자 두 개를 가져와서 연산을 해준다. 스택은 먼저 들어간 data가 나중에 나오는 구조이기 때문에 나중에 pop 하는 값.. 2021. 9. 28.