알고리즘 문제풀이
1926.간단한 369게임
///////////////////////////////////////////////////////////////////////////////////////////// // 기본 제공코드는 임의 수정해도 관계 없습니다. 단, 입출력 포맷 주의 // 아래 표준 입출력 예제 필요시 참고하세요. // 표준 입력 예제 // int a; // float b, c; // double d, e, f; // char g; // char var[256]; // long long AB; // cin >> a; // int 변수 1개 입력받는 예제 // cin >> b >> c; // float 변수 2개 입력받는 예제 // cin >> d >> e >> f; // double 변수 3개 입력받는 예제 // cin >> g..
프로그래머스 Greedy C++ 체육복
내가 푼 풀이 방식과는 다르게 매우 효율적인 방식이 있어서 소개한다. 먼저, student라는 배열에 하나가 더있으면 +1, 없으면 -1을 저장하는 방식이다. programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr #include #include using namespace std; int student[35]; int solution(int n, vector lost, vector reserve) { int answer = 0;..
백준 14500번 - 테트로미노
www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변� www.acmicpc.net 하나 하나 블럭별로 나올수 있는 경우의 수를 계산하면, 각 블럭별로 2,1,8,4,4의 경우의 수가 된다. 이걸 전부 더하면 19가지의 블럭의 경우의 수가 나올수 있다. 이걸 전부 하나씩 해봐주면된다. 1 #include 2 using namespace std; 3 int a[500][500]; 4 int main() { 5 int n, m; 6 cin >> n >> m; 7 for (int i=0; i a[..
백준 1476번 : 날짜 계산
www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타�� www.acmicpc.net #include using namespace std; int main() { int E,S,M = 0; cin >> E >> S>> M; E -=1; S -=1; M -=1; int i = 0; while(1){ if( (i%15 == E) &&(i%28 == S) && (i%19 == M) ){ cout
백준 3085번 - 사탕게임
전략: brute force N×N크기의테이블에사탕이있다.(N≤50) 인접한두칸을고르고,사탕을교환한다. (N의 제곱) 그다음,같은색으로이루어져있는가장긴연속부분행또는열을고르는문제 (N의 네제곱) 더 좋은 알고리즘: 자기가 건든 열과 행만 바꾼다. #include #include #include using namespace std; int check(vector colors){ int answer = 1; int size = colors.size(); for(int i = 0; i colors[i]; } int answer = 0; for(int i = 0; i
백준2309번 - 일곱 난쟁이
#include #include using namespace std; int main() { int height[9]; int total = 0; for(int i=0; i> height[i]; total = total + height[i]; } sort(height,height+9); for(int i = 0; i