본문 바로가기

Programming399

swe 1219 길찾기 1. dfs 인데2. 계속 돌길래 원인을 찾아봤더니, 0이여도 다시 제자리로 돌아와서 그렇다....3. 꼼꼼히 짤 필요가 있다. dfs 는 정확하게 구현하지 않으면 계속 돈다... 40... /*1550 시작합니다.존재하면 1 없으면 0아하 그럼 배열 2개를 저장한다음에 어떻게 해야 하지0 에서 1, 2 로 가면 도달하는 지점에 멈출 것입니다. 오께이.이것을 큐로 넣어서 하나씩 할까요? 아니면 바로바로 쭉쭉 할까요? dfs 로 쭉쭉해보도록 하겠습니다. */ #include #include using namespace std;#define SIZE 100 int one[SIZE];int two[SIZE];int oneV[SIZE];int twoV[SIZE];int n;int ans;int a, b; voi.. 2018. 3. 29.
swe 1218 괄호 짝짓기 1. 아이디어를 떠올리고, 그것을 토대로 설계를 합니다.단, 그 아이디어가 쉬운 예제에서 뿐만 아니라 실제 예제에서도 돌아가는지 확인할 필요가 있습니다. /*1218 괄호 짝짓기 문제 시작합니다.1523분 시작합니다. 괄호들의 짝이 맞는지 확인하기. */ #include #include #include using namespace std; string str;int ans = 1;int map[4];int length; void problemIn() {cin >> str;} void solve() {length = str.size();for (int i = 0; i = 0) { map[0]++; }else {ans = .. 2018. 3. 29.
백준 9466 텀 프로젝트 1. dfs + cycle 문제입니다. 특이점은 visit, finish 배열을 사용하나는 점입니다.dfs 의 구조를 보면 먼저 방문은 시작하고 다음 next를 찾습니다.그리고 visit 가 0이면 들어가고 끝났는지 확인해서 끝나지 않았으면 들어가서, 역순회를 하도록 합니다. 오께이 그렇게 역순회를 마치지고, 자기 자신까지 ++ 을 하고 나서 나와줍니다. 만약에 비지트가 안되어있다면, 비지트에 넥스트를 넣고 dfs를 다시 들어갑니다. 그리고 else 가 끝이 나면, finish 를 해둡니다. 오께이. 그다음에 solve 함수에서는 i=0 부터 N 까지 해줍니다. visit 가 0이면 들어가도록 합니다. 오께이. 아직은 하나씩 짜기가 쉽지 않으니, 오께이. 처음에 인덱스가 0부터 시작하니까 처음입력 받을때.. 2018. 3. 29.
swe 1216 회문2 1. 쉬운문제는 20분컷 중간문제는 40분 컷입니다.2. 한번에 설계해서 완성하기.3. 처음에 입력을 받고 한번 디버깅을 하면 좋으려나?4. 컴퓨터가 빠르면 할맛이 나는데, 버벅거리면...ㅇㄹ5. 디버깅 없이도 처음부터 잘 할 수 있도록 예외처리도 모두 생각하면서 설계를 하도록 합니다. /*1000 시작합니다.1216 회문2 문제입닙니다. 먼저 8*8에서 풀고, 100 * 100 으로 넘어가겠습니다.제일 큰 8 에서 7 .... 쭉쭉쭉 내려가면서 찾도록 합니다.*/ #include #include #include using namespace std;#define SIZE 100 // 100int map[SIZE][SIZE];int ans;int isFine;string str; void problemIn.. 2018. 3. 29.
swe 1215 회문1 1. 인덱스 연습하기 좋은 문제입니다.2. 규칙을 찾아내고 그 규칙을 코딩으로 옮기는 연습입니다. /*1817 시작합니다.1215 회문 길이에 따른 회문의 개수를 구합니다.그럼 짝수일때와 홀 수 일때를 나누어서 확인합니다. 1일때는 맵의 크기를짝수일때는 길이의 반절만큼 비교해서 ans++홀수일때는 그것을 중심으로 양옆으로 비교해서 ans++ 을 하도록 합니다. */ #include #include #include using namespace std; #define SIZE 8int map[SIZE][SIZE];string str;int ans;int k;int isFine; void problemIn() {cin >> k;for (int i = 0; i > str;for.. 2018. 3. 28.
swe 1213 String 1. 아이디어 구현2. 예외 없으니, 시간 복잡도를 생각해야 하나3. 시간 초과나오면? 그때가서 새로운 설계? 중복을 줄이기 위해서는 어떻게 해야 하는가? /*문자열을 연습합니다.1745 시작합니다.받은 것은 그대로 두고, 비교해야 하는 문자열을 검사하도록 하겠습니다.*/ #include #include using namespace std; int word[10];string str;string input;int ans;int length;int length2;int isMatch; void problemIn() {cin >> input;cin >> str; length = input.size();for (int i = 0; i < length; i++) {word[i] = input[i];}} void.. 2018. 3. 28.
swe 1211 Ladder2 1. 처음 설계의 중요성2. 문제 이해의 중요성 처음 문제가 잘 못되어 있어서 설계를 잘 못 해서 코드를 리팩토링 하려고 하니, 시간이 너무 많이 걸렸다. 어려운 문제가 아닌데, 문제를 잘 못 이해했으면, 처음부터 설계를 새로 하는 것이 좋습니다... 문제를 정독하고 처음 설계를 완벽하게 하는 것이 중요합니다. /*1210 Ladder1 1540 시작합니다. */ #include #include #include using namespace std; #define SIZE 100 // 100 struct point {int x, y, cnt;}que[SIZE*SIZE], start_store[SIZE]; int x, y, nx, ny;int dx[] = { 0,0,-1 }; // 동 서 남int dy[] .. 2018. 3. 28.
swe 1219 Ladder1 1. queue 를 연습하였습니다.2. 재밌네요. /*1210 Ladder1 1540 시작합니다. */ #include #include using namespace std; #define SIZE 100 // 100 struct point {int x, y;}que[SIZE*SIZE]; int x, y, nx, ny;int dx[] = { 0,0,-1 }; // 동 서 북int dy[] = { 1,-1,0 };int map[SIZE][SIZE];int visit[SIZE][SIZE];int ans;int front, rear; void problemIn() {for (int i = 0; i > map[i][j];i.. 2018. 3. 28.
swe 1209 Sum 1. 20분컷2. 기본다지기 문제3. 문제에 나온대로 구현하면 됩니다.for문과 if문만 사용하면 됩니다. /*1520 시작합니다.1209 Sum 문제입니다. 저렇게 만들면 되겠습니다. 그리고 검사를 할때 테두리만 검사를 진행하면 됩니다.*/ #include #include using namespace std;#define SIZE 100 // 101 int map[SIZE + 1][SIZE + 1];int maxVal;int sum;int leftDown; void problemIn() {for (int i = 0; i > map[i][j];}}} void solve() {// 오른쪽for (int i = 0; .. 2018. 3. 28.
swe 1208 Flatten 1. 반복문 이용해서 풀이하는 것.2. 인덱스는 어떻게 처리할 것인가.3. 순서만 꼼꼼하게 보면 되겠습니다. /*1208 Flatten문제 시작하도록 하겠습니다. 1440이제 어느정도 노하우가 쌓여가고 있습니다. 최고점과 최저점의 차이를 반환하는 프로그램을 작성하세요.옮기는 작업의 횟수가 제한이 걸려 있습니다. 재밌네요. 그럼 예제를 통해서 문제를 풀어보도록 ㅏ겠습니다.평탄화가 완료되면 더 이상 덤프를 수행할 수 없으므로 그 때의 최고점과 최저점의 높이 차를 반환합니다. 25 8 3 1 5 6 9 9 2 2 4*/ #include #include using namespace std;#define SIZE 100 // 100int k;int map[SIZE];int minVal = 2123456789;in.. 2018. 3. 28.