목록전체 글 (413)
오답노트
https://programmers.co.kr/learn/courses/30/lessons/42840?language=cpp 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr - 문제 파악 수포자 1,2,3 은 수학문제를 각자의 패턴으로 찍으려고한다. 이 때 정수 배열로 문제들의 정답을 알려줄 때, 이 중에서 가장 점수가 높게 나오는 사람을 출력하라. 만약 동점자가 있을 경우, 오름차순으로 출력하라. - 정답 완전탐색이라고 하지만 굳이 그렇게 풀지 않아도 되더라.. #include "bits/stdc++.h" ..
https://programmers.co.kr/learn/courses/30/lessons/1845#qna 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr - 문제 파악 홍박사는 폰켓몬 N 마리를 주어지고, 우리는 그 중의 반만 가져갈 수 있다. 하지만 우리는 다양한 종류의 폰켓몬을 가져가고 싶다. 이 때 가장 많은 종류를 가져가는 경우에 종류의 수를 출력하라. - 정답 재귀함수로 열심히 풀어봤다. 시간초과 발생하는 몇개 케이스 때문에 코드가 조금 억지로 짜여진거 같다. #include "bits/stdc..
https://programmers.co.kr/learn/courses/30/lessons/42889?language=cpp 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr - 문제파악 총 스테이지 수 N과 플레이어들이 현재 도전중인 스테이지를 넣은 배열이 주어진다. 실패율을 구해야하는 실패율은 현재 도전중인 플레이어의 수 / 클리어한 플레이어의 수이다. 이 때 실패율이 높은 순서대로 정렬한 배열을 출력하라. 실패율이 같을 경우 스테이지 순서가 빠른 순으로 출력하라. - 정답 멍청하게도 double을 계산할 ..
https://programmers.co.kr/learn/courses/30/lessons/77884?language=cpp 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr - 문제 파악 두 개의 정수가 주어지고 두 정수를 포함한 사이의 정수들의 약수의 개수가 짝수이면 정수를 더하고, 홀수이면 정수를 뺄 때, 두 정수를 포함한 사이의 정수들을 연산한 결과를 출력하라. - 정답 #include "bits/stdc++.h" using namespace std; ..
https://programmers.co.kr/learn/courses/30/lessons/68935# 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr - 문제 파악 정수 n을 3진법으로 표현한 뒤 3진법을 뒤집은 값을 10진수로 출력하라 - 정답 1. n을 넘지 않는 3의 제곱수를 구한다. 2. 1번에서 구한 3의 제곱수에서 n을 뺀다. 3. 만약 2번을 진행했음에도 3의 제곱수를 한번 더 뺄 수있다면 뺀다. 4. 3의 제곱수를 3으로 나누고 n을 갱신한다. 5..
https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr - 문제 파악 배열과 정수 한개가 주어진다. 배열을 잘 조합하여 정수보다 같거나 작은 수를 만들 수 있는데, 이 때 요소 개수의 최대값을 구하라. - 정답 #include "bits/stdc++.h" using namespace std; int solution(vector d, int budget) { int answer = 0; sort(d.begin(),d.en..
#include #include using namespace std; string solution(int a, int b) { string answer = ""; int day = 0; for(int i = 1; i < a ; i ++) { if(i day) { int ntmp = 1 + (n-1)*7; day = day - ntmp; switch(day) { case 0: answer = "FRI"; break; case 1: answer = "SAT"; break; case 2: answer = "SUN"; break; case 3: answer = "MON"; break; case 4: answer = "TUE"; break; case 5: answer = "WED"; break; case 6: a..
https://programmers.co.kr/learn/courses/30/lessons/86491?language=cpp 코딩테스트 연습 - 최소직사각형 [[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 - 문제 파악 배열의 크기가 2이고 요소가 모두 정수인 배열A로 이루어진 배열B을 입력 받는다. 배열 A들로 각각 직사각형을 만들수 있는데, 배열B에 포함된 모든 배열 A를 포함하는 최소 직사각형의 넓이를 구하여라. (배열 A는 90도 회전이 가능하다) - 나의 접근 1. 가로 세로 크기와 돌렸을 때 가로 세로 크기를 확인하여 가장 최소로 만..
https://programmers.co.kr/learn/courses/30/lessons/12903?language=cpp 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr - 문제 파악 문자열이 주어지고 문자열이 홀수 일때는 가운데 글자를, 짝수일때는 두 글자를 출력해라 - 정답 #include #include using namespace std; string solution(string s) { string answer = ""; int size = s.size();..
https://programmers.co.kr/learn/courses/30/lessons/12906?language=cpp 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr - 문제 파악 주어지는 정수 배열에서 중복을 제거한 배열을 출력하라 - 정답 #include "bits/stdc++.h" using namespace std; vector solution(vector arr) { vector answer; int ntmp = arr[0]; answer.push_back(ntmp)..