문제 https://school.programmers.co.kr/learn/courses/30/lessons/150368?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs를 이용해 완전탐색을 해서 푸는 문제였다. 문제 풀이 emoticon의 개수가 최대 7, user의 개수가 최대 100, 할인 개수도 4개여서 완전탐색이 가능했다. (4^7 * 100을 해도 160만 정도밖에 나오지 않음) #include #include using namespace std; int sale[4] = {10,20,30,40}; vector u; ..
인증과 인가 인증(Authentication) : 사용자가 본인 맞는지(누구인지) 확인 인가(Authorization) : 인증된 사용자가 특정 장소(자원)에 접근 가능한지 확인 (권한 확인) spring security spring security는 애플리케이션의 인증과 인가를 담당하는 스프링 프레임워크다. Dispatcher Servelet에 요청이 돌아오기 전에 Filter에서 인증과 인가를 수행한다. controller에서는 요청에 대한 응답만을 제공할 수 있다. Filter는 Dispatcher Servelet 전에 적용, 가장 먼저 url 요청 받음 Interceptor는 Dispatcher와 Controller 사이에 위치 principal (접근 주체, 아이디) : 자원에 접근하는 대상 c..
문제 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net dfs로 인구 이동이 총 몇 번 일어나는지 구하는 문제였다. 문제 풀이 dfs를 이용해 국경선이 열리는 곳을 방문 후 stack에 저장하고 stack의 size가 2 이상이면 총 인구수 / 나라수 를 각 stack에 저장된 나라의 인구수로 갱신하고 갱신이 일어나면 flag를 1로 바꿔 다음 while문이 돌아갈 수 있도록 했다. #define _CRT_SECURE_NO_WARN..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr stack 을 이용해 자신의 뒤에 있으면서 가장 가까운 큰 수를 찾는 문제였다. 문제 풀이 처음에는 완전탐색을 이용해 풀었는데 4개의 케이스에서 시간 초과가 나왔고, 입력값이 최대 100만인 상황에서 break 조건을 걸어서 시간 초과를 해결해도 출제 의도와는 다른 것 같아서 다른 방법으로 풀었다. 자신의 뒤에서 가장 가까운 큰 수를 찾는 문제였기 때문에 stack을 사용했다. number..
원래 하던대로 workbench에서 RDS 접속 시도를 했는데 보안 그룹 설정과 퍼블릭 액세스 허용을 해줬음에도 연결이 계속 거부당했다. 구글링 하던중.. https://aeliketodo.tistory.com/96 [SPRING] AWS RDS Connection timed out, unable to connect to localhost 연결 오류 해결 방법 문제 상황 DB 연결 문제로 3일을 꼬박 삽질만 했다 ㅎ.ㅎ AWS RDS 데이터베이스를 EC2가 아니라 외부 IP의 MySQL Workbench와 스프링 부트 프로젝트에 연결하고 싶었다. 그러나 Workbench에서는 unable to connect aeliketodo.tistory.com 이 글을 발견했고, 3번째 방법으로 해결했다. VPC 서..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오름차순으로 정렬된 수열의 합이 K인 최단 길이 부분 수열을 찾는 문제였다. 문제 풀이 처음에 완전탐색을 이용해 풀었다가 시간 초과가 났고, 중간에 중단 조건을 걸어 시간을 많이 줄였지만 그래도 시간 초과가 나서 다른 방법을 찾았다. 수열의 최대 길이가 100만이라 O(n^2) 방법이 아닌 O(n)으로 풀어야할 것 같아서 투포인터를 사용해 풀었다. sum이 k보다 클 경우 l 값을 빼준 후..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/1829# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr level2 문제로 dfs를 이용해 영역 개수와 최대 크기를 찾는 문제였다. 문제 풀이 처음에 fail이 떠서 당황했는데, 전역 변수 사용 시 함수 내에서 초기화하라는 주석을 보고 dx와 dy, visit를 solution 내에서 초기화했더니 pass가 떴다. #include using namespace std; int dx[4] = {1,-1,0,0}; int dy[4] = {0,0,1,-..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 큰 원 - 작은 원 을 하는 문제였다. 문제 풀이 처음에는 4분의 1 범위에 대해서 완전탐색을 했고, 시간 초과가 났다. 항상 문제를 풀 때 시간복잡도가 어떤 방법으로 풀어야 할지 생각을 좀 해야겠다. 사실 이번에도 안될거 알면서 완전탐색으로 해본거라... 안될 것 같으면 다른 방법을 찾자!! 코테는 제한 시간이 정해져 있으니까! #include #include #include using ..