전체 글 215

4179번 불! - C++

✅️[문제] https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net ✅️[풀이] 불과 지훈이의 좌표를 따로 큐에 넣어 각각 BFS를 돌리면 된다! ❗️주의할점은 지훈이의 좌표보다 불의 좌표를 큐에 먼저 넣어야 되는 점이다. 왜냐하면, 지훈이의 맨 처음 좌표가 가장자리에 있는 경우라면 지훈이의 탈출 최소 경로가 잘못되어 계산할 수 있기 때문이다. ❗️지훈이와 불의 방문 여부를 체크하지 않으면 시간초과가 날 수 있으므로 주의하자! ✔️ 지훈..

[프로젝트] 스프링 시큐리티를 이용한 소셜로그인 및 JWT 구현하기 - (1)

[참고 글 및 코드] https://velog.io/@tmdgh0221/Spring-Security-%EC%99%80-OAuth-2.0-%EC%99%80-JWT-%EC%9D%98-%EC%BD%9C%EB%9D%BC%EB%B3%B4 Spring Security 와 OAuth 2.0 와 JWT 의 콜라보 Spring Boot, Spring Security, OAuth 2.0, JWT 와의 치열한 싸움 기록 velog.io https://deeplify.dev/back-end/spring/oauth2-social-login [Spring Boot] OAuth2 소셜 로그인 가이드 (구글, 페이스북, 네이버, 카카오) 스프링부트를 이용하여 구글, 페이스북, 네이버, 카카오 OAuth2 로그인 구현하는 방법에 대해..

2504번 괄호의 값 - C++

[문제] https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net [풀이] 스택의 괄호 활용 문제이다. 구현이 까다로운 문제이자 생각이 상당히 힘들었다. 총합인 sum과 누적 값인 num을 선언한다. ( [ 기호가 들어오면 각각 num에 2와 3을 곱해주고, 닫는 괄호인 ) ]이 들어오면, 배열의 이전 idx값이 ([ 이라면 num에 sum을 더해주고, idx값이 ([이 아니라면 단순히 pop() 연산과 나누기 연산을 해주면 된다. [코드] #incl..

1926번 그림 - C++

[문제] https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net [풀이] DFS 기본 문제 큐에 원소를 처음 넣을때마다 도형 개수를 1 증가 시키고, DFS 탐색하여 원소의 넓이를 구하면 되는 문제이다. [코드] #include using namespace std; #define X first #define Y second int board[501][501]; bool vis[501][501]; int dx[4] = {1,0,-1,0}; int dy[4] ..

5430번 AC - C++

[문제] https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net [풀이] 덱 활용 문제이다. 제한 시간이 1초인 것을 유의하자. 처음 시도때는, 덱을 두개 생성하여 R을 입력할때마다 뒤집은 덱을 또 다른 덱에 넣는 방식으로 구현하였는데, 시간 초과가 났다. R이 짝수번 나온경우 D를 할시 맨 앞의 원소를 삭제하면 되고, R이 홀수번 나온 경우 D를 할시 맨 뒤의 원소를 삭제하면 된다. 출력시에는 R이 짝수일때 그대로 출력, 홀수 일때는 뒤에서 부터 출력한다. [코드] #include using namespa..