전체 글(68)
-
[백준 JAVA] 15683 : 감시
[백준] 15683 : 감시 : https://www.acmicpc.net/problem/15683문제 조건 정리 1. CCTV는 감시할 수 있는 방향에 있는 칸 전체를 감시할 수 있다.사무실에는 벽이 있는데, CCTV는 벽을 통과할 수 없다. CCTV가 감시할 수 없는 영역은 사각지대라고 한다. 2. CCTV는 회전시킬 수 있는데, 회전은 항상 90도 방향으로 해야 하며, 감시하려고 하는 방향이 가로 또는 세로 방향이어야 한다.3. 사무실의 크기와 상태, 그리고 CCTV의 정보가 주어졌을 때, CCTV의 방향을 적절히 정해서, 사각 지대의 최소 크기를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 사무실의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 8)둘째 줄부터 N개의 줄에는 사..
2024.06.29 -
ValanSe 아키텍쳐
오늘, 졸업 논문을 위한 창의설계프로젝트를 마무리했다. 이번 프로젝트에서는 밸런스 게임이라는 도메인에 집중하기보다 여러 기술들을 사용(체험)해보고, 서버를 배포부터 구성하는 것에 초점을 맞췄다. 이벤트 브로커 서버가 담긴 컨테이너는 직접 SSH에서 배포했다.API 서버와 추천 시스템 서버는 따라 깃허브 액션을 통해 도커 이미지로 만들어지고, 도커 허브에 push 된다. 이후, EC2 SSH에 접근, 도커 허브에서 갱신된 이미지를 pull 한다. 이는 도커 컴포즈를 활용해서 실행했다. 아래는 깃허브 액션을 위한 파일이다.생각보다 깃허브 액션을 위한 환경변수 설정이 번거로웠다. 나중에는 요령이 생기긴 했지만.name: CI/CD using GitHub Actions & Dockeron: push: ..
2024.06.24 -
[소프티어 자바] 함께하는 효도
[소프티어] 함께하는 효도 : https://softeer.ai/practice/7727 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai문제 조건 정리 상단 링크를 참고하세요.문제를 풀기 전 친구가 최대 3명이라서 다행이었다.혹시 각 친구가 4개가 아니라 3개 이하를 밟는 게 최선이라면 어쩌나 걱정스러웠다. -> 다행히도 아니었음또 백트래킹의 지옥의 갇혀서 디버깅을 할 준비를 했다.코드 package softeer;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class 함께하는효도 { private static cla..
2024.05.24 -
[프로그래머스 JAVA] 이중우선순위큐
[프로그래머스] 이중우선순위큐 : https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 조건 정리입력 / 출력문제를 풀기 전 deque(덱) 구조보다 최소힙, 최대힙으로 우선순위큐(pq)를 2개 구현해야겠다. 한 개의 pq에서 삭제(dequeue)가 일어나면, 나머지 pq에서도 삭제가 일어나야 하는데 어떻게 구현하지?나머지 pq에서 remove 연산 -> remove 를 위한 힙 탐색 -> 탐색 트리가 아니므로 O(logN) 이 아닌 O(N) 만큼 ..
2024.05.13 -
서버에서 클라이언트의 쿠키를 설정할 수 없었기에.
이번 프로젝트는 스프링 시큐리티 컨텍스트에서 스프링 oauth2-client를 통해서 로그인을 구현했다. 이전에는 oauth 과정을 직접 구현했던만큼, 이번 기회에 스프링에서 지원하는 라이브러리를 사용해서 oauth를 구현하고 싶었다. 즉, 서버에서 모든 oauth 과정이 이뤄지게 됐다. 서버에서 진행되는 oauth 인증을 시작하는 링크를 버튼으로 구현하여, 로그인은 성공적으로 이뤄질 수 있었다.하지만, 이 상황에서 서버는 어떤 방법으로도 클라이언트의 쿠키값을 세팅할 수 없었다. 서버가 쿠키값을 세팅해야했던 이유는 oauth 인증 이후, 앞으로의 인가를 위한 jwt 의 엑세스 토큰을 저장하기 위함이다. 이를 해결하기 위한 노력(삽질)은 아래와 같다. crossOrigin annotation spr..
2024.05.12 -
[프로그래머스 JAVA] 모음사전
[프로그래머스] 모음사전 : https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 조건 정리입력 / 출력 문제를 풀기 전 완전탐색 문제지만 규칙을 찾을 수 있다고 생각함.각 자릿수에는 NULL, "A", "E", "I", "O", "U" 가 들어갈 수 있음 -> 6진수와 비슷하게 취급하고 싶음입력값을 "AAAAA" 와 비교한다면, 논리적으로 쉽게 풀이할 수 있을 것이라고 생각함.아래 표에 따라서, 입력값을 숫자로 변환한 것과 11111 을 비교하는 ..
2024.05.12