본문 바로가기

분류 전체보기

(297)
베스트 앨범 programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr #include #include #include #include #include using namespace std; bool cmp(paira, pairb){ return a.first>b.first; } bool cmpplays(paira, pairb){ return a.second>b.second; } vector solution(vector genres, vector..
벽 부수고 이동하기 www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net /* 벽부수고 이동하기 2206번 */ #include #include #include #include #include using namespace std; int d[1005][1005]; int check[1005][1005][2]; int dx[] = { -1,1,0,0 }; int dy[] = { 0,0,-1,1 }; queue q; int n, m; int func(int x,..
보행자 천국 programmers.co.kr/learn/courses/30/lessons/1832 코딩테스트 연습 - 보행자 천국 3 3 [[0, 0, 0], [0, 0, 0], [0, 0, 0]] 6 3 6 [[0, 2, 0, 0, 0, 2], [0, 0, 2, 0, 1, 0], [1, 0, 0, 2, 2, 0]] 2 programmers.co.kr 처음에는 밑에와 같이 DFS로 풀었더니 시간초과가 났다 그때서야 이문제가 DFS로 푸는 문제가 아니라는 것을 알게 되었다 #include #include #include using namespace std; int MOD = 20170805; int dx[] = {1,0}; //아래 int dy[] = {0,1}; //오른쪽 int count; void dfs(vect..
뮤탈리스크 www.acmicpc.net/problem/12869 12869번: 뮤탈리스크 1, 3, 2 순서대로 공격을 하면, 남은 체력은 (12-9, 10-1, 4-3) = (3, 9, 1)이다. 2, 1, 3 순서대로 공격을 하면, 남은 체력은 (0, 0, 0)이다. www.acmicpc.net #include #include #include #define INF 999999999 using namespace std; int dp[70][70][70]; int n, a, b, c; int func(int x, int y, int z) { if (!x&&!y&&!z)return 0; int &ret = dp[x][y][z]; if (ret != -1)return ret; ret = INF; ret = min(re..
블록이동하기 programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 아직 미해결 해결중입니다.. #include #include #include #include #include #include #include using namespace std; typedef struct loc{ int x1; int y1; int x2; int y2; } loc; int dx[] = {-1,1,1,-1}; int dy[] = {1,1,-1,-1}; int dlx[] = {-1,-1,1,..
가장 긴 팰린드롬 programmers.co.kr/learn/courses/30/lessons/12904 코딩테스트 연습 - 가장 긴 팰린드롬 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들 programmers.co.kr #include #include #include using namespace std; int solution(string s) { int answer=1; int n = s.size(); vectorcheck(n,vector(n,false)); for(int i=0; i
평범한 배낭 www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net #include #include #include #include using namespace std; int arr[101][100001]; int main() { int n; int weight; cin >> n; cin >> weight; memset(arr, 0, sizeof(arr)); vectorthings(100); for (int i..
기둥과 보 설치 programmers.co.kr/learn/courses/30/lessons/60061 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr #include #include #include using namespace std; bool c..