본문 바로가기

전체 글

(35)
프로그래머스 - 여행 경로 TC 1번을 제외하고는 쉽게 풀렸는데 1번이 너무~너무 안풀려서 많이 헤맨 문제이다. 참고한 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #include #include using namespace std; int visited[1000000]; string ans_string = "a"; void dfs(vector &tickets, string cur, string path, int depth) { if (depth == tickets.size()) { string p = path; if (path
프로그래머스 - 단어 변환 DFS를 이용하여 풀었는데, 사실 처음에 생각했던 BFS를 이용해서도 풀 수 있는 것 같다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #include #include #include #include using namespace std; int visit[51]; int res = 987654321; int check(string a, string b) { int cnt = 0; for(int i=0; i words.size()) return ; if (begin == target) { res = min(res, ..
프로그래머스 - 타겟 넘버 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include #include #include using namespace std; int solution(vector numbers, int target) { int answer = 0; vector oper(numbers.size(), false); int len = numbers.size(); sort(numbers.begin(), numbers.end()); for(int i=0; i (-) do{ int num = 0; for(int i=0; i= numbers.size()){ if(sum == target) total++; return; } DFS(number..
프로그래머스 - 소수 찾기 소수를 찾는 것은 쉬우나, 문자열을 입력받아 해당 문자들로 만들 수 있는 모든 수의 조합을 찾는 것을 재귀로 짜보려했으나 잘 되지 않았다. 그래서 next_permutation을 사용했다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 #include #include #include #include using namespace std; map m; int answer; int find(int num) { if (num
프로그래머스 - 가장 큰 수 쉽다고 생각하였으나 정렬을 쉽게하는 방법을 떠올리지 못해서 시간이 오래 걸렸던 문제이다. 두 문자열을 붙였을 때 그 순서에 따라 더 큰 숫자가 되게끔 정렬을 해줘야 하는데, 이를 각 숫자로 판단하기에는 어렵다. 따라서 정렬 기준 내에서 두 문자열을 미리 붙여보고 더 큰 문자열이 앞에 오도록 정렬하였더니 쉽게 해결이 되었다. 다만, 문제는 "가장 큰 수"를 의미하기 때문에 [0, 0, 0, 0]이 들어올 경우 0을 출력해야한다는 점을 주의해야 한다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #include #include #include usin..
BOJ - 미네랄(2933) 문제 조건을 잘못 이해하여 헤맸던 문제였다. 1. 벽이 부서진 곳을 기점으로 하여 새로 생성된 cluster를 찾아야 한다. 2. 또한, cluster 중 하나라도 바닥에 닿아 있다면, 그 cluster는 중력의 영향을 받지 않는다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 ..
FE와 BE 연동 중 발생하는 CORS ERROR 프로젝트 진행 중 EC2 instance에 올려져있는 백엔드 서버를 통해 FE가 Axios를 이용하여 API에 요청을 보냈을 때 자꾸만 브라우저에서 값을 읽어들이지 못하고 CORS policy를 위반한다는 오류 메시지가 발생하였다. 이를 해결하기 위해 CORS가 무엇인지에 대해서 알아보았다. CORS(Cross Origin Resource Sharing) CORS에 대해 얘기하기 전, 우선 SOP에 대해서 알 필요가 있다. SOP(Same Origin Policy)란 ? 한 origin으로부터 로드된 script나 document가 다른 origin의 리소스와 상호작용 할 수 있는 방법을 제한하는 중요한 보안 메커니즘. origin을 판단할 때 Scheme(HTTP / HTTPS 등) Host Port ..
BOJ - 청소년 상어(19236) 이 문제는 상어가 갈 수 있는 칸 중 어떤 칸을 가느냐에 따라 최댓값이 달라지기 때문에 backtracking을 사용해야 하기 때문에 재귀적인 방법으로 풀어야만 한다. 문제의 아이디어는 바로 떠올랐는데 이를 어떻게 코드화 할지가 쉽게 떠오르지 않아서 시간이 좀 걸렸던 것 같다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83..