본문 바로가기

코딩테스트

(30)
27. 삼각 달팽이 Lv.2 : 월간 코드 챌린지 시즌1_ C++ https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 코드#include #include #include using namespace std;vector solution(int n) { vector answer; int arr[1001][1001];// 이걸 좀 보기 편하게 생각해보면 왼쪽으로 쫙 밀었을 때 아래로 쭉 내려갔다가 오른쪽으로 쭉 갔다가 x-1, y-1하면서 올라갔다가를 반복하면서 모든 블록을 채울 때까지 반복하면 된다. int x = 0, y = 0;..
26. 쿼드압축 후 개수 세기 Lv.3 : 월간 코드챌린지 시즌1 (C++) https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr *코드#include #include using namespace std;int zero,one;void dfs(int y,int x,int size,vector> &arr){ int cur = arr[y][x]; // 맨 처음 값 bool equals=true; // 현재 사각형이 모두 같은수라면 해당 dfs종료한다. // 사각형 내부가 전부 같은 수인지 판별 for(int i = y ; i solutio..
25. 이진 변환 반복하기 Lv.2 : 월간 코드 챌린지 시즌 1 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 코드#include #include #include #include using namespace std;vector solution(string s) { vector answer; int count = 0; int sum_c = 0; while (s != "1") { // '0' 제거 int pre_size = s.size(); s.erase(remove(s.begin(), s.end..
24. 백준 1039 (골드2) : 교환_ python풀이 / BFS 문제0으로 시작하지 않는 정수 N이 주어진다. 이때, M을 정수 N의 자릿수라고 했을 때, 다음과 같은 연산을 K번 수행한다.1 ≤ i 위의 연산을 K번 했을 때, 나올 수 있는 수의 최댓값을 구하는 프로그램을 작성하시오. 입력첫째 줄에 정수 N과 K가 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, K는 10보다 작거나 같은 자연수이다.출력첫째 줄에 문제에 주어진 연산을 K번 했을 때, 만들 수 있는 가장 큰 수를 출력한다. 만약 연산을 K번 할 수 없으면 -1을 출력한다.예제 입력 1 복사16375 1예제 출력 1 복사76315예제 입력 2 복사132 3예제 출력 2 복사312예제 입력 3 복사432 1예제 출력 3 복사423예제 입력 4 복사90 4예제 출력 4 복사-1예제 입력 5 ..
23. 백준 1781 (골드2) : 컵라면_ python풀이 / 그리드(우선순위큐) https://www.acmicpc.net/problem/1781문제상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라인을 정하였다.          문제 번호                 데드라인              컵라면  수                123456711332266721451위와 같은 상황에서 동호가 2, 6, 3, 1, 7, 5, 4 순으로 숙제를 한다면 2, 6, 3, 7번 문제를 시간 내에 풀어 총 15개의 컵라면을 받을 수 있다.문제는 동호가 받을 수 있는 최대 컵라면 수를 구하는 것이다. 위의 예에서는 15가 최대이다.문제를 푸는데는 단..
22. 백준 30890 (실버4) : 드럼_ python풀이 / 수학(최소공배수) 문제이번에 새롭게 드럼을 배우고 있는 영현이에게 문제가 하나 생겼다. 그것은 바로 박자가 생명인 드럼이지만, 영현이는 심각한 박치라는 것이다.왼손과 오른손이 서로 다른 박자로 드럼을 연주하는 경우가 있다. 한 박자 동안 왼손이 X$X$번, 오른손이 Y$Y$번 연주를 해야 한다면 왼손은 1/X$1/X$박자마다, 오른손은 1/Y$1/Y$박자마다 연주한다. X=2$X=2$, Y=3$Y=3$이면 그림과 같이 (오른손) / (왼손) / (오른손) / (왼손 + 오른손) 순으로 연주해야 한다.영현이는 이러한 상황을 만나면 심각한 연주 불능 상태에 빠지고 만다. 불쌍한 영현이를 위해 어떤 순서로 드럼을 연주해야 하는지 알려주자.입력한 박자 동안 왼손이 연주해야 하는 횟수 X$X$와 오른손이 연주해야 하는 횟수 Y$Y..