본문 바로가기

분류 전체보기

(297)
다음 큰 숫자 programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr #include #include #include #include using namespace std; int ijin(int num ){ int i =1; int count=0; while(i
방금 그곡 - Kakao Blind recruitment programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr #include #include #include #include #include using namespace std; string solution(string m, vector musicinfos) { string answer = "(None)"; vectormusics; vectormelodies; vector ontimes; for(int i=0; i
BFS & DFS BFS & DFS 그래프 알고리즘으로, 문제를 풀 때 상당히 많이 사용되는 개념이다. 문제의 상황에 맞게 BFS와 DFS를 활용하면 된다. 여기서 사용되는 코드는 백준에 있는 DFS와 BFS 문제를 기반으로 한다. V : 정점, E : 간선 BFS 너비 우선 탐색이라 하며 BFS(Breadth-First Search)라 부른다. 루트 노드 혹은 임의의 노드에서 시작해 인접한 노드를 먼저 탐색하는 방법. 시작 정점으로부터 가까운 정점을 먼저 방문하고 멀리 떨어져 있는 정점을 나중에 방문하는 순회 방법이다. 즉, 깊게 탐색하기 전에 넓게 탐색하는 것이다. 큐를 사용한다. (해당 노드의 주변부터 탐색해야 하기 때문이다.) 최소 비용(즉, 모든 곳을 탐색하는 것보다 최소 비용이 우선일 때)에 적합하다. 시간 복..
파일 합치기 www.acmicpc.net/problem/11066 11066번: 파일 합치기 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본 www.acmicpc.net #include #include int INF = 1000000007; using namespace std; int dp[501][501]; int cost[501]; int sum[501]; int T, K, i; int main() { cin >> T; while (T--) { cin >> K; for (i = 1; i > cost[i]; sum[i] = sum[i - 1] + cost[i]; } ..
땅따먹기 programmers.co.kr/learn/courses/30/lessons/12913 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr #include #include #include using namespace std; int solution(vector land) { int answer=0; int row = land.size(); for(int i=1; i
후보키 programmers.co.kr/learn/courses/30/lessons/42890# 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 후보키 - 유일성과 최소성이 만족하는 키를 구해야한다. 처음에 아래와 같이 풀었는데 채점이 통과 되질 않았다. 그리고 너무 코드가 길다는 생각을 했음. (테스트 통과X) #include #include #include #include #include #..
1,2,3 더하기 4 www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 www.acmicpc.net #include #include #include using namespace std; int dp[10001][4]; void solve(int n, int k) { if (dp[n][k]) { return; } for (int i = 4; i > num; solve(num,3); answer.push_back( dp[num][1] + dp[num]..
가장 큰 정사각형 찾기 programmers.co.kr/learn/courses/30/lessons/12905 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr #include #include #include using namespace std; int solution(vector board) { int answer = 1; for(int i=1;i