분류 전체보기
-
[SOPT 32기 서버파트 YB 합격 회고록]ヽ(✿゚▽゚)ノ 2023. 3. 23. 19:52
이번 년도를 시작하면서 4학년 때에는 무조건 SOPT서버 파트에 들어가야겠다고 생각했다. 우선 지난 학기에 개발동아리에서 프론트엔드 개발을 해보니까 서버에서 데이터가 흘러 넘어오는 과정을 조금 더 알고싶었고 졸업프로젝트에서 서버를 맡아 개발하다 보니까 더 깊게 배워볼 수 있는 기회가 있으면 좋겠다고 생각을 했다. 그리고 주변 사람의 영향이나 성장하고자 하는 갈망으로.. SOPT 서버파트 YB 지원기가 시작되었다.. 1. 서류 서류는 공통질문 4개 파트 별 질문 4개로 극악의 꽤나 많은 양이었다. 공통 질문은 다음과 같다. 1. 팀 프로젝트에서 본인은 어떤 사람으로 팀원에게 기억되고 있는지 경험을 바탕으로 소개해 주세요. 이를 바탕으로 지원자님이 SOPT에 어울리는 이유에 대해 말씀해 주세요. (700자)..
-
[OAuth 2.0] 소셜로그인 인증 방식 OAuth 2.0 이해하기Dev/Server 2023. 3. 16. 22:29
OAuth 2.0 OAuth 2.0(Open Authorization 2.0, OAuth2)은 인증을 위한 개방형 표준 프로토콜이다. 구글, 페이스북, 트위터와 같은 다양한 플랫폼의 특정한 사용자 데이터에 접근하기 위해 제 3자 클라이언트(우리의 서비스)가 사용자의 접근 권한을 위임(Delegated Authorization)받을 수 있는 표준 프로토콜이다. : 이 프로토콜에서는 Third-party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공한다. 구글, 페이스북, 카카오, 네이버 등에서 제공하는 간편 로그인 기능도 OAuth2 프로토콜 기반의 사용자 인증 기능을 제공하고 있다. OAuth 2.0 주체 Resource Owner 리소스 소..
-
[Binary min Heap(c++)] BOJ 15942 Thinking heapAlgorithm/Data Structure 2023. 2. 20. 12:03
문제 입력 첫 번째 줄에 자연수 N(1 ≤ N ≤ 200,000)이 주어진다. 두 번째 줄에 자연수 k와 p(1 ≤ k, p ≤ N)가 공백으로 구분되어 주어진다. 출력 자연수 k가 heap 배열의 p번째에 위치하도록 하는 삽입 순서가 존재한다면 i번째 줄에 i번째로 삽입할 수를 출력한다. 가능한 삽입 순서가 여러 가지라면 그중 아무거나 하나를 출력해도 된다. 만약 그렇게 만드는 삽입 순서가 존재하지 않는다면 첫 번째 줄에 -1을 출력한다. 풀이 방법 자료 구조 문제에 나와있는 것 처럼 1based의 1차원 배열을 통해 구현하면 된다. heap[p] = k 임을 출력해야하므로 heap[p] = k를 넣고 다음 단계로 나아가면 된다. 그 다음 단계를 살펴 보자. 1. k의 부모(조상)은 k보다 작은 수여야..
-
[DP/ C++] BOJ 2482 색상환Algorithm 2023. 2. 18. 19:32
문제 문제 접근 우선 색상환의 개수를 dp에 사용할 수 있겠다는 생각을 했다. 그래서 dp 2차원 배열에서 dp[N][k]라고 생각해서 설계했다. 조합을 사용하는 풀이처럼 느껴져서 배낭문제와 비슷하게 풀이를 해야겠다고 생각을 했고, 경우를 두가지로 나눠서 생각했다., 1) N번째 색을 택하는 경우 N번째 색을 택하면 N-1번째 색은 택할 수가 없다. 따라서 N-2개 색 중 K-1개 색을 택하는 경우와 같다. = dp[N-2][k-1] 2) N번째 색을 택하지 않는 경우 이 방법은 N-1개의 색에서 k개의 색을 택하는 경우와 같다. = dp[N-1][k] 따라서 dp[N][k] = dp[N-2][k-1] + dp[N-1][k] 이다. 정답 코드 #include #define mod 1000000003 us..
-
[Algorithm/ Priority Queue(우선순위 큐)/Heap(힙) (C++)] BOJ 1927 최소힙Algorithm/Data Structure 2023. 2. 18. 18:49
Priority Queue(우선순위 큐) 💡기본 Queue의 자료 구조는 FIFO(First in First out, 선입 선출)구조이다. 그에 반헤 Priority Queue는 설정된 우선순위에 따라, Top을 유지하고 먼저 Out(pop)된다. 사용 방법 queue를 import하여 사용한다. [멤버 함수] - queue에선 front를 사용해서 가장 앞에 있는 변수를 확인하는 것에 비해, priority_queue에서는 top을 활용하여 확인한다. - push : priorityqueuq에 값을 삽입한다. - emplace : priority queue에 구조를 삽입한다. push와 emplace의 차이 push의 경우 단순히 queue에 값을 넣어준다. 다시 말하면 오브젝트로 제작후 삽입해야하므로..
-
[백트래킹/ N-queen(C++)] 9663 N-QueenAlgorithm 2023. 2. 16. 13:10
문제 문제를 보고 꽤나 당황했다.. 저는 체스 규칙도 모르는데요.... 유명한 문제고 백트레킹의 대표적인 문제이기 때문에 이번 기회에 완전히 정복하고 가자는 마음으로 풀어보겠다! 문제 해석 체스 규칙에서 퀸은 자신을 기준으로 일직선상과 대각선 방향에는 아무것도 놓여있으면 안된다. 퀸이 그곳으로 다 움직일 수 있다. 우선 이 문제에서는 퀸의 특성상 체스판 한 행당 한 개의 퀸만 존재할 수 있다고 생각하는 것이 중요하다.(같은 행에는 퀸이 놓일 수 없음) 풀이 방식 그리고 이 문제는 이차원 배열을 만들 필요 없이, 일차원 배열을 만든 후, 각 행의 몇번째 열에 퀸이 있는지를 저장하는 방식으로 풀 수 있다. 한 행마다 하나의 퀸을 배치해가면서, 총 배치 행수가 N이 되면, 경우의 수를 1개씩 올려주면 된다. ..
-
[Spring Boot/JPA] JPA 의존성 추가, 도메인 개발BACKEND/Spring 2023. 2. 15. 21:44
이 글은 책 스프링부트와 AWS로 혼자 구현하는 웹 서비스를 참고하여 작성되었습니다. 프로젝트에 Spring Data Jpa 적용하기 build.gradle 파일 dependencies 다음 코드를 추가한 후 빌드 해준다. (망치모양 누르기) compileOnly 'org.springframework.boot:spring-boot-starter-data-jpa' compileOnly 'com.h2database:h2' 그리고 지난 번에 web 패키지를 만들었던 패키지 아래 domain 패키지를 만든다. 여기서 도메인이란 게시글, 댓글, 회원, ... 등 소프트웨어에 대한 요구사항 혹은 문제 영역이라고 해석하면 된다. 기존에 MyBatis같은 쿼리 매퍼를 사용했다면 dao 패키지를 떠올리겠지만, 그것과는 ..
-
[BOJ/ DFS(C++)] 9466 텀프로젝트Algorithm 2023. 2. 15. 10:56
https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 문제 문제 해결 사이클을 이루는 팀원들이 한 팀이 된다. => 사이클이 이루어지고 있는 과정은 dfs를 통해 파악한다. 이 문제에서 포인트는 '사이클을 다 돌았다면?' 에 대한 해답을 찾는 것이다. - 이미 방문한 정점을 다시 방문하면 사이클이 형성된다. - 여기서 시간복잡도가 커질 수 있다.. 이미 사이클이 형성된 학생은 다시 사이클인지 아닌지 체크해줄 필요가 없다. 그래서 이미 사이클이 형성된 학생..