본문 바로가기

algorithm47

[모의 SW 역량테스트] 점심 식사시간- 2383 문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5-BEE6AK0DFAVl SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 : 더보기 #include #include #include #include #include #include using namespace std; class Person { public: int key; //배열 인덱스 int x, y; // 사람좌표 int aStairs, bStairs; // 각각의 계단입구까지 걸리는 시간 int enter; // 선택된 계단 입구 int lowCo.. 2019. 12. 28.
로봇 청소기 - 14503 문제 : https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다. 로봇 청소기는 다음 www.acmicpc.net 코드 : #include using namespace std; int N, M; int R, C, D; int num[5.. 2019. 12. 25.
알고리즘 문제풀때 순서 알고리즘을 공부하다보니 크게 2가지 문제로 인해 승패가 갈리는것 같았다. 지문 이해 및 조건파악 구현능력 위 2가지를 문제 풀때마다 계속 느꼈던거 같다. 지문을 잘못 이해했을때, 조건을 잘못 파악하였을때.. 전혀 엉뚱한 방향으로 문제를 풀었으며 이러한 버그(?)는 찾기도 어려웠다. 지문을 다시읽지 않는 한 절때 찾을 수 없는 문제였고 한번 이해했다고 판단한 부분은 빠르게 스킵하여 다시 읽어도 못잡았던 때가 있었다. 구현능력도 마찬가지로 문제를 풀면서 느낀거다. 시험을 보려면 당연히 구현을 해야한다. 다들 코딩테스트나 알고리즘 문제를 풀기전에 이에대한 기본개념을 먼저 준비한다. 예를들면 DFS, BFS, 재귀함수 등 다양한 개념과 알고리즘 , 자료구조를 선행학습 한 후 문제를 푼다. 이런 개념들을 많이 아.. 2019. 12. 25.
연구소 - 14502 문제 : https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. www.acmicpc.net 코드 : #include #include #include using namespace std; int N, M; int num[8.. 2019. 12. 25.
N-Queen - 9663 문제 : https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 : #include #include using namespace std; int N = 0; int maxCount = 0; int arr[4][2] = { {-1, -1}, {-1, 1}, {1, -1}, {1, 1} }; vector temp; bool AddCheck(int i, int j) { for (auto v : temp) { // v.first == i 어차피 동일한 행이 들어올 수 .. 2019. 12. 23.
[모의 SW 역량테스트] 등산로 조성 - 1949 문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 : #include #include using namespace std; int N, K = 0; int num[8][8] = { 0 }; vector temp; bool check[8][8] = { false }; int maxCount = 0; bool indexCheck = true; int arr[4][2] = { {-1,0}, {0, -1}, {0, 1}, {1,0} }; // count =방문길이 , i= 행 , j = 가로 ,.. 2019. 12. 23.
[모의 SW 역량테스트] 벌꿀채취 - 2115 문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V4A46AdIDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 : #include #include using namespace std; int N, M, C; int num[10][10]; bool check[10][10] = { false }; int honeySum = -2147483647 - 1; int honeyTotal = 0; int maxValue = 0; // M개 벌꿀 중 가장 큰 값 구하기. //line = 가로로 갈수있는 데드.. 2019. 12. 19.
테트로미노 - 14500 (Solve 2) 문제 : https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다. 아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누 www.acmicpc.net 기존에는 해당 도형들의 회전된 모든 경우의 수를 구하여서 배열에 적재 후 이를 탐색하여 해결을 하였다. 이 방법도 속도가 .. 2019. 12. 14.
수영장 - 1952 문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpFQaAQMDFAUq&categoryId=AV5PpFQaAQMDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 : #include #include using namespace std; int price[4] = { 0 }; int use[12] = { 0 }; int minPrice = INT32_MAX; //수행되는 month void solution(int month, int sum) { //탈출조건 if (.. 2019. 12. 8.