목록알고리즘 문제풀이 (121)
거의 알고리즘 일기장
problem https://leetcode.com/problems/contains-duplicate/ Contains Duplicate - LeetCode Can you solve this real interview question? Contains Duplicate - Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct. Example 1: Input: nums = [1,2,3,1] Output: true Ex leetcode.com Given an integer array nums, return true if..
problem https://leetcode.com/problems/best-time-to-buy-and-sell-stock/ Best Time to Buy and Sell Stock - LeetCode Can you solve this real interview question? Best Time to Buy and Sell Stock - You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosin leetcode.com You are given ..
problem https://leetcode.com/problems/two-sum/ Two Sum - LeetCode Can you solve this real interview question? Two Sum - Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not leetcode.com Given an array of integers nums and an integer target, return i..
www.acmicpc.net/problem/1175 1175번: 배달 어제 선물을 모두 포장한 민식이는 이제 선물을 배달하려고 한다. 민식이가 선물을 배달할 곳은 이 문제를 읽는 사람들이 앉아 있는 교실이다. 교실은 직사각형모양이고, 모두 같은 크기의 정사 www.acmicpc.net 이 문제도 달이 차오른다, 가자. 문제랑 똑같다. 메모리가 터지지않게 최대한 안될만한 데이터들을 선처리해서 큐에 넣지 않게 하는게 중요한 문제다! 전체코드 #include #include #include #include using namespace std; class BfsData { public: int y; int x; int dir; int time; int isDelivery; BfsData(){} BfsData(i..
www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net bfs를 돌릴때 큐에 넣는 값들 처리를 미리하느냐 나중에 하느냐에 따라서 터지는 문제였다. 미리 안될만한 값들은 미리 처리해서 큐에 넣지 않게 하는게 중요한 문제다!! 전체코드 #include #include #include #include #include using namespace std; class BfsData { public: int y; int x; int cnt; in..
www.acmicpc.net/problem/5373 5373번: 큐빙 각 테스트 케이스에 대해서 큐브를 모두 돌린 후의 윗 면의 색상을 출력한다. 첫 번째 줄에는 뒷 면과 접하는 칸의 색을 출력하고, 두 번째, 세 번째 줄은 순서대로 출력하면 된다. 흰색은 w, 노란 www.acmicpc.net 풀이방법 미리 큐브가 회전하는 모든경우의 수를 종이에 그려본다 -> 구현! 전체코드 #include #include #include using namespace std; //int uOut[12] = { 33, 34, 35, 18, 21, 24, 38, 37, 36, 8, 5, 2 }; //int dOut[12] = { 42, 43, 44, 26, 23, 20, 29, 28, 27, 0, 3, 6 }; //int..
www.acmicpc.net/problem/17472 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net 코드 #include #include #include #define MAXVAL 987654321 using namespace std; int N, M; int board[10][10]; int calBoard[10][10]; int dy[4] = { -1, 1, 0, 0 }; int dx[4] = { 0,0, -1,1 }; int islandDis[7][7]; int numOfIsland..
www.acmicpc.net/problem/5213 5213번: 과외맨 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 500) 다음 줄부터 N*N-N/2줄(/는 정수 나눗셈이다)에는 두 양의 Ai와 Bi가 주어진다. (1 ≤ Ai, Bi ≤ 6, 1 ≤ i ≤ N * N - N / 2) 타일 i의 왼쪽에 쓰여 있는 숫자는 Ai, 오른� www.acmicpc.net 코드 //visit배열을 500*500 + 1로 잡으니까 통과되었습니다..ㅎ //사소한 실수로 거의 2시간을 날렸네요. #include #include #include #include using namespace std; class Tile { public: int sy; int sx; int ey; int ex; Tile(){} Tile(int ..
www.acmicpc.net/problem/16988 16988번: Baaaaaaaaaduk2 (Easy) 서기 2116년, 인간은 더 이상 AI의 상대가 되지 못하게 되었다. 근력, 순발력, 창의력, 사고력, 문제해결능력, 심지어 인간미조차 AI가 인간을 앞선다. AI가 온 지구를 관리하며 이미 인류는 지구의 www.acmicpc.net 코드 /* 풀이방법 1. 돌의 집합 vector를 미리 만들어서 거기에 집합 주변의 빈좌표들을 넣어줍니다. 2. 조합을 돌리면서 board에 돌을 두개 놓고 몇마리가 잡혔는지 위에 만들었던 돌의 집합 vector를 순회하며 확인합니다. 아까 코드는 좀 이상하게 짜놔서 조금 고쳤습니다. */ #include #include #include #include using na..
www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 코드 #include #include #include #define MAX_VAL 987654321 using namespace std; class RotateData { public: int r; int c; int s; RotateData(){} RotateData(int r_in, int c_in, int s_in):r(r_in), c(c_in), s(s_in){} }; in..