본문 바로가기

전체 글547

백준 2174 로봇 시뮬레이션 1. 문제를 명확하게 이해하는 것이 우선입니다.2. 하나의 명령을 먼저 모두 수행한다!3. 로봇을 저장하는 구조체와4. 명령어를 저장하는 구조체가 필요하고5. 로봇의 위치를 나타내는 맵이 필요합니다. 그리고 시뮬레이션 돌려주면 됩니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697/*2018.04.04.1600*/ #include #include using namespace std;#define SIZE 105 // 105.. 2018. 4. 4.
백준 달이 차오른다 가자 1. 비트마스킹을 사용합니다.2. 키를 겟하면, 겟했다고 표기합니다.3. 문을 만나면 키를 겟했는지 확인합니다. 특이점배열큐를 사용할때 크기가 사이즈의 4배를 해주었습니다.1. stl 큐의 장점은 큐가 동적할당 되는 것인데2. 배열 큐의 장점은 디버깅시 내용을 바로바로 확인 할 수 있다는 점입니다.3. 문자열이므로 문자열로 받고, 입력도 문자열로 받습니다. 디버깅 때 알아보기 편합니다. 설계시에, 큐 내용을 알 필요가 없으면, stl? no 디버깅시 유리하도록 front, rear 쓰는 것이 좋을 것 같습니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859.. 2018. 4. 4.
백준 2169 로봇 조종하기 정답 참조 1. dp 문제이지만, 매우 유용합니다.2. 위, 오, 왼쪽의 크기를 비교하면서 dmap 을 만들어 냅니다.3. 먼저 위에서 오는 것 다 저장,4. 왼쪽에서 오는 것과 비교5. 오른쪽에서 오는 것과 비교6. 그리고 그 중 가장 큰 값을 dmap 에 저장하면서 내려가도록 합니다. d_map 으로 적는게 가시적으로 좋아 보입니다.연습하면 나아지리라 생각됩니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667/*2018.04.03 로봇 조종하기무선 조종 로봇을 보냈습니다. 탐사한 지역들의 가치의 합이 최대가 되도록 하는 프로그램을 작성.. 2018. 4. 3.
백준 1726 로봇 1. 현재의 방향에 대해서 갈 수 있는 것 넣기2. 현재의 4방향에 대해서 돌리기 이렇게 2가지로 구분해서 하면 됩니다.큐에 넣어도 됩니다. 많이 많이. 완전탐색을 하면 됩니다.방향과 시간을 가지고 있으면 됩니다. break 문을 잘 사용하도록 합니다.처음에 안되면 바로 탈출합니다. continue 가 아닌 break! 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810.. 2018. 4. 2.
백준 1451 직사각형으로 나누기 정답 참조 1. 중복 되는 것을 줄이기.2. 중복 되는 것을 줄이기...3. 사각형은 인덱스가 중요하므로, 이것을 어떻게 처리할 것인지, 메모하기3. 이것을 머리속으로만 생각하려니까 정리가 잘 되지 않음.4. 한번에 연습장에 정리를 한 다음에, 풀이하도록 합니다. #include using namespace std; int n, m, a[101][101];long long Max = 0; long long sum(int sx, int sy, int ex, int ey) {long long ret = 0;for (int i = sy; i n >> m;for (int i = 0; i > tmp;a[i][j] = tmp - .. 2018. 4. 2.
swe 1228 암호문1 1. swap 할때, 이렇게 복사하는 것도 나쁘지 않은 것 같습니다. 여러개의 변수가 필요하다면, 변수로 이용해야 하지만 지금처럼 1차원 맵일때는 제일 간편하게 하도록 합니다. 1. 입력을 받고,2. 앞의 것은 그대로 복사 받고3. 뒤로 미루는 작업을 하는데 결과가 10까지만 원하므로, 조건문을 넣는 것에 주의하도록 합니다. 스트링 받고 처리하는 것도 연습해서 아주 좋습니다. /*2018.04.02.1426 문제 시작하도록 하겠습니다. 1228. 암호문 1 스트링 10개 저장하는 것을 만듭니다. 결과의 처음 10개를 숫자만 필요하기 때문입니다. 일단 받고 나서 그 뒤에에 붙이도록 하겠습니다.*/ #include #include using namespace std; #define SIZE 30string .. 2018. 4. 2.
swe 1226 미로1 1. bfs() 가장 기본 문제 입니다.2. STL을 사용도 해보고,queArr 를 사용도 해봤습니다. queArr 사용시 주의할 점은 rear, front 의 설정입니다.그리고 사이즈 처음에 넣어주는 것도 확인해야 합니다.그리고 각각 큐 stl 에 들어가는 부분을 변경해주면 됩니다.간단합니다. 간단하면서 디버깅하기에 용의합니다. /*2018.04.01 11:01 시작1226 미로1아냐, 일단 그냥 큐로 사용하도록 하겠습니다.큐가 간편합니다. 그리고 bfs 로 역추적이나,그 안의 값을 알아야 한다면 그때 배열을 사용하도록 하겠습니다.*/ #include #include #include #include #include using namespace std;#define SIZE 16int map[SIZE][.. 2018. 4. 2.
swe 1225 암호생성기 1. 예전에는 이런 문제가 별로 라고 생각했는데, 지금은 꼼꼼함을 기를 수 있는 중요한 문제라고 생각됩니다.어떻게하면 메모리를 축소시킬 수 있는지, 시간을 단축할 수 있는지를 명확히 할 필요가 있습니다. 시간 복잡도와 메모리 복잡도를 계싼할 수 있는 실력이 되도록 합니다. 라인에서의 경험은 정말 큰 자산이 되었습니다. 새로운 문제에 대해서 대처할 수 있는 능력이 필요하다고 생각됩니다. 톱니바퀴때 스왑을 못했던 것을 생각하면,몇 일안에 연결 요소 그래프를 한번 찾아보도록 하겠습니다.저는 잘 할 수 있습니다. /*2018.04.01.1003 시작하겠습니다. 암호생성기 1225 문제시작. 끝나는 부분은 0보다 작아지거나 0일 경우 0으로 저장되며,해당 숫자 배열이 암호가 됩니다.그리고 칸 미루는 것은 swap.. 2018. 4. 2.
백준 1251 단어 나누기 1. 아이디어는 어렵지 않으나, 구현에서 꼼꼼함이 요구됩니다.2. 예를 들어서 회전시키는 것에서 인덱스가 헷갈립니다.3. 인덱스를 포함했을 때 어디까지 변환을 할 것인가.처음에 어떻게 들어갈 것인가. 0,1 차이이므로 조심스레 구현합니다.그리고 명확하게 구현합니다. 여기서 많이 했던 실수는 인덱스도 많고원본, 변경, 최소맵 3개를 번갈아가면서 사용해야 해서 시간이 10분정도 소요됬습니다. 설계가 완벽하므로,처음에 설계를 하고 시간복잡도를 생각해보고 풀이를 시작해보도록 합니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869.. 2018. 3. 30.
백준 2210 숫자판 점프 1. 아이디어 처음에 안떠오르면 어렵지 않은 문제이고, 꼼꼼히 풀기만 하면 됩니다.숫자판이 작기 때문에 dfs 로 풀어도 무방합니다. 2. 만들었던 숫자는 visit 함수를 이용해서 표시를 해줍니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273/*1951 시작합니다. 서로 다른 여섯 자리의 수들의 개수를 구하는 프로그램visit 로 갔던 숫자는 체크하지 않도록 합니다.0 0 0 1 2 3 이면 6차원로 만들어볼까요?depth 를 6으로 설정하도로 하고, 각 자리에서 시작하도록 하겠습니다.숫자를 바로 만들어.. 2018. 3. 30.