본문 바로가기

전체 글93

[C++] 5주차 위클리문제 사전모음 84512 📌사전모음 /* 해당 문제 설명은 링크로 대체한다. */📌풀이 처음에 문제를 읽고 이게 무슨 말이야 싶었다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 질문하기에 어떤 분이 달아주신 댓글 덕에 이해했는데 ... ㅎ........ 아래와 같이 문자가 만들어지는 방식이다. A AA AAA AAAA AAAAA AAAAE AAAAI AAAAO AAAAU AAAE ...여기서 공식을 이용하면 쉽게 풀어낼 수 있을 것 같은데 나의 경우 공식을 찾다가 못찾겠어서 결국 재귀함수로 돌면서 set에 담았고, set을 돌면서 word와 같을 경우 idx를 반환하는 식으로 풀었다. 📌코드 #include #include #include using namespace std; vector v = {"A","E","I","O","U"}; se.. 2021. 8. 31.
[C++] level2 단체사진 찍기 1835 📌단체사진 찍기 /* 해당 문제 설명은 링크로 대체한다. */📌풀이 이 문제는 {A, C, F, J, M, N, R, T} 각각 어피치, 콘, 프로도, 제이지, 무지, 네오, 라이언, 튜브을 의미하는데 이들의 인덱스를 서있는 위치라고 생각하고, data의 조건에 따라 경우의 수를 맞춰 계산하면 된다! 순열에 경우의 수를 구해야 하므로 next_permutation을 이용해야 한다는 점을 기억! 그래서 우선 list라는 vector에 담아두고, data의 조건 해당하는 값의 index를 구하면 2명의 인덱스가 나오는데 이 두개를 뺀 값이 data의 조건 중 간격에 해당된다면 flag를 true로 두고 아니면 false로 둔다. //삼항연산자로 구현 그리고 for문을 나와 다시 순열을 구하기 전 flag값이.. 2021. 8. 24.
Spring Security 기본 개념과 동작구조 이해 현재 프로젝트를 병행하면서 Spring 프레임 워크에 대해서 공부하고 있는데 OAuth 2.0을 이용한 소셜로그인 구현을 위해선 Spring Security에 대한 선행 이해가 필요하다고 생각되어 먼저 살펴보려고 한다. Spring Security란? Spring 기반의 애플리케이션의 보안(인증, 권한, 인가 등)을 담당하는 스프링 하위 프레임워크 '인증'과 '권한'에 대한 부분을 Filter 흐름에 따라 처리한다. 보안과 관련한 체계적인 옵션을 제공하므로 개발자 입장에서 이 프레임워크를 이용하면 하나하나 보안 관련 로직을 작성하지 않아도 된다. Filter는 Dispatcher Servlet 으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Con.. 2021. 8. 24.
[C++] 위클리챌린지 4주차 직업군 추천하기 84325 📌[직업군 추천하기](https://programmers.co.kr/learn/courses/30/lessons/84325?language=cpp) /* 해당 문제 설명은 링크로 대체한다. */ 📌풀이 table이 ["SI JAVA JAVASCRIPT SQL PYTHON C#", "CONTENTS JAVASCRIPT JAVA PYTHON SQL C++", "HARDWARE C C++ PYTHON JAVA JAVASCRIPT", "PORTAL JAVA JAVASCRIPT PYTHON KOTLIN PHP", "GAME C++ C# JAVASCRIPT C JAVA"] 이런 식으로 담겨있다. 그러므로 행 별(SI, CONTENTS, ...)로 진행을 직군에 따라 languages에 포함된 언어가 선호도(pref.. 2021. 8. 23.
[C++] level2 땅따먹기 12913 참고자료 https://hwan-shell.tistory.com/202 해당 문제는 위 블로그를 참고하여 해결하였습니다. 📌땅따먹기 /* 해당 문제 설명은 링크로 대체한다. */ 📌풀이 처음에 규칙을 지키면서 최고점을 구하는 완전 탐색 방식으로 풀이했더니 시간초과가 발생했다. 이런 최고점을 구하는 문제의 경우 DP를 이용하는게 적합하다는 구글링을 보았고, DP는 공부하지 않았기 때문에 공부하고 코드를 다시 보니 이해할 수 있었다. DP? : 문제를 작은 인스턴스들로 나누고 상향식(Bottom-up) 순서로 풀어나가면서 문제의 값을 정해놓고 필요할 때 가져와 문제를 해결하는 방식이다. //기억하며 풀기(Memoization)라 생각하면 된다. //점화식을 세울 수 있어야 함 이 문제에서의 점화식은 각 행별.. 2021. 8. 22.
[C++] level2 삼각달팽이 68645 📌삼각달팽이 /* 해당 문제 설명은 링크로 대체한다. */ 📌풀이 예 ~ 전에 알고리즘랩스 2주 교육 수강하면서 이렇게 배열을 다른 방향으로 채워나가는 문제를 풀어본 적이 있어서 어렵지 않게 해결할 수 있었다. 이런 문제의 경우 정삼각형보다는 직각삼각형으로 생각해두고 1)좌하향 2)우측 3)우상향 순서로 구현하는 방식을 생각하면 접근하는데 어렵지 않다. 📌코드 #include #include #include using namespace std; vector solution(int n) { vector answer; vector numbers(n, vector(n, 0)); //값을 채워 넣을 직각 삼각형 int num = 1, x = -1, y = 0, p = n; //배열 채우기 for (int i =.. 2021. 8. 22.