혼종 꼬지마루
삼성전자 19년 상반기 기출이라고 해서 예~~~~전부터 풀어보려고 했지만.....귀찮아서 미루고 미루다가 드디어 풀어보았다 ㅋㅋㅋ 어려워 보이고, vector를 쓰면 편할 것 처럼 보이지만 범위가 명확하고, 굳이 vector를 쓰지 않아도 될 것 같아서 그냥 풀었다 1. 입력되는 확인할 target 좌표와 3x3행렬을 입력받는다. 2. 함수는 총 5개를 만들었다. target좌표를 확인할 함수, 행렬을 한줄씩 계산하고 바꿔줄 함수, R, C에 들어갈 각각의 함수를 만들었다. 3. for문으로 dab을 count하게 만들었고, for문이 돌 때 가장 먼저 target좌표의 답을 확인 4. R, C의 길이를 확인하여 CalR, CalC함수를 호출 5. CalR기준으로, 행을 순회하며 열의 값을 tmp_arr..
왜 됬지?라는 생각과 함께 풀었다......죽자고 예외잡고....hard coding하기 싫어서 이것저것 했는데 자꾸 안되니까 짜증나서 혹시나 하고 제대로 되는거도 hard coding으로 바꿔서 코드가 뭔가 길어졌지만....결론은 되는걸 올림....ㅂㄷㅂㄷ안되길래 에이씨.....하고 roll back시켰더니 통과된 희한한 문제였다 1. 간편하게 만들기 위해 1~9까지 적힌 map을 생성 2. L의 크기에 따라 pattern 순서를 입력 받으면서, 중복된 숫자가 있으면 바로 NO를 출력하고 종료 3. arr[0]의 좌표를 시작으로 dfs 탐색을 시작한다 4. 탐색 중, map[y][x]가 순서에 맞지는 않지만, 방문 했던 점이라면 그 진행방향으로 한번 더 이동시키고 dfs를 다시 던져준다. 방문하지 않았..
알고리즘 단톡방에 어떤분의 요청으로 stl map이나 hash를 사용하지 않고 푼 코드가 있냐고 물어보길래 trie를 사용해서 풀어보았다 1. N개의 문자열이 들어오는 순서대로 TRIE안에 넣어준다. - 이때 마지막 문자열의 길이가 끝날 때는 NODE의 end를 true로 바꾸어 노드가 끝났음(문자열의 마지막)을 표시한다. 2. 이 후 M개의 문자열이 들어오는 순서대로 N개의 문자열이 들어 있는 TRIE에 넣어 비교한다. 3. 문자열이 탐색하다가 next 문자가 NULL포인터를 가지거나, 문자열이 끝났음에도 end가 false인 경우는 그냥 리턴 4. 찾을 경우에는 dab_cnt를 하나 늘려서 리턴한다 5. check함수를 모두 빠져 나왔을 때 답을 찾은 것인지 체크하기 위한 check_num과 비교하여..