목록알고리즘 (122)
거의 알고리즘 일기장
https://kunkunwoo.tistory.com/307 React Native를 이용한 사이드 프로젝트 만들기 -8. 오랜만의 수정 또 수정 (with 오늘의 그림일기) 예전에 만든 그림일기라는 프로젝트가 있었다. rn 시작할때 만든 프로젝트였는데, 최근에 기억이 나 들어가보니 생각보다 사람들이 써줘서 약 1년? 만에 조금 손보았다. https://kunkunwoo.tistory.com/253 kunkunwoo.tistory.com 최근 오늘의 그림일기라는 프로젝트를 리뉴얼하면서 기존의 webview를 이용한 raster drawing 방식에서 svg drawing 방식으로 바꾸었다. react-native-draw라는 모듈을 이용하였는데, 몇몇 문제가 있어 모듈을 살펴볼 일이 좀 있었다. 살펴보다..
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..
www.acmicpc.net/problem/1400 1400번: 화물차 입력은 여러 개의 테스트 케이스로 구성된다. 각 테스트 케이스의 첫째 줄에는 두 개의 정수 m과 n이 주어진다, 여기서 m은 지도를 나타내는 행렬의 행의 크기이고 n은 열의 크기이다(2 ≤ m, n ≤ 2 www.acmicpc.net 코드 #include #include #include #include using namespace std; class TrafficLight { public: int y; int x; char startlight; int eastWestTime; int southNorthTime; }; class BfsData { public: int y; int x; int currentTime; vector visi..
www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 코드 #include #include #include using namespace std; class Fish { public: bool isAlive = true; short y; short x; short dir; Fish() {} Fish(int y_in, int x_in, int dir_in) :y(y_in), x(x_in), dir(dir_in) {} }; int board[4][4]..