- 알고리즘 분류 : 구현 - 사용 언어 : JAVA - 문제 요점 1.벨트가 각 칸 위에 있는 로봇과 함께 한 칸 회전한다. 2.가장 먼저 벨트에 올라간 로봇부터, 벨트가 회전하는 방향으로 한 칸 이동할 수 있다면 이동한다. 만약 이동할 수 없다면 가만히 있는다. (로봇이 이동하기 위해서는 이동하려는 칸에 로봇이 없으며, 그 칸의 내구도가 1 이상 남아 있어야 한다.) 3.올리는 위치에 있는 칸의 내구도가 0이 아니면 올리는 위치에 로봇을 올린다. 4. 내구도가 0인 칸의 개수가 K개 이상이라면 과정을 종료한다. 그렇지 않다면 1번으로 돌아간다. 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import jav..
자기 개발
이 포스팅은 아래의 강의를 참고하였으니 여기에서 공부하시는 것을 추천드립니다. https://inf.run/tcLk [무료] 스프링부트 시큐리티 & JWT 강의 - 인프런 | 강의 스프링부트 시큐리티에 대한 개념이 잡힙니다., - 강의 소개 | 인프런... www.inflearn.com 이전 포스팅과 이어지는 내용입니다. https://ajdahrdl.tistory.com/246 1. 페이스북 로그인 준비 더보기 1) Google에서 '페이스북 api 콘솔' 검색 후 페이스북 개발자 사이트.. 클릭 2) 우측 상단의 '시작하기' → 페이스북 로그인 → 내 앱 → 앱 만들기 3) 앱 유형은 '없음', 표시 이름은 자유롭게 설정 후 앱 만들기 완료 4) Facebook 로그인 기능을 사용할 것이기에 Face..
이 포스팅은 아래의 강의를 참고하였으니 여기에서 공부하시는 것을 추천드립니다. https://inf.run/tcLk [무료] 스프링부트 시큐리티 & JWT 강의 - 인프런 | 강의 스프링부트 시큐리티에 대한 개념이 잡힙니다., - 강의 소개 | 인프런... www.inflearn.com 1. 구글 로그인 준비 더보기 1) Google에서 '구글 api 콘솔' 검색 후 APIs Console... 클릭 2) 프로젝트 선택 - 새 프로젝트 클릭 후 이름 아무렇게나 짓고 만들기 3) 방금 생성한 프로젝트로 선택 4) OAuth 동의 화면 - 외부 - 만들기 에서 앱 이름과 사용자 지정 이메일, 개발자 연락처 정보 를 기입 후 동의 후 저장 계속 눌러서 완료한다. 5) 사용자 인증 정보 - OAuth 클라이언트..
안녕하세요. Spring Security에 대해서 공부하고 알게되는 내용에 대해서 정리해보려고 합니다. 스스로 간단하게 정리를 하기에 주석에다가 정리를 하였고, 공부하였으니 보기 불편하실 수도 있습니다. 이 포스팅은 아래의 강의를 참고하였으니 여기에서 공부하시는 것을 추천드립니다. https://inf.run/tcLk [무료] 스프링부트 시큐리티 & JWT 강의 - 인프런 | 강의 스프링부트 시큐리티에 대한 개념이 잡힙니다., - 강의 소개 | 인프런... www.inflearn.com 들어가기 앞서, 프로젝트 개발 환경(필자 기준) 인텔리제이 H2 DB Spring Boot 2.7.0 maven project 추가한 라이브러리 spring-data-jpa : jpa를 편하게 사용하기 위해 mustach..
- 알고리즘 분류 : BFS & 구현 - 사용 언어 : JAVA - 문제 요점 맞닿은 톱니바퀴의 톱니가 서로 다르면 거꾸로 회전, 같으면 동작X 회전하기 전에 체크해야함. 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; /** * 맞닿은 톱니바퀴의 톱니가 서로 다르면 거꾸로 회전, 같으면 동작X * 회전하기 전에 체크해야함. * */ // Link : https://www.acmicpc.net/prob..
- 알고리즘 분류 : BFS - 사용 언어 : JAVA - 문제 요점 기울이면 벽을 만날 때까지 구슬이 이동한다. (한 칸씩 움직일 수 있는 것이 아니다.) 공은 동시에 움직임. 빨간 구슬이 구멍에 빠지면 성공이지만, 파란 구슬이 구멍에 빠지면 실패 빨간 구슬과 파란 구슬은 동시에 같은 칸에 있을 수 없다. 또, 빨간 구슬과 파란 구슬의 크기는 한 칸을 모두 차지 최소 몇 번 만에 빨간 구슬을 구멍을 통해 빼낼 수 있는지 구하는 프로그램(10번 내로 못 빼내면 -1 출력) 최단 거리를 찾아야 하기 때문에(10 이하) DFS가 아닌 BFS를 이용하여 탐색하였음 문제 풀이에 도움받은 블로그 : https://minhamina.tistory.com/191 소스 설명은 주석을 참고해주세요. import java..
안녕하세요. 이번 포스팅에서는 Javascript의 변수 선언 방식인 var, let, const에 대해서 알아보겠습니다. 1. var 기존에 사용하던 변수 선언 방식 같은 이름으로 변수를 다시 선언할 수 있음(수정도 가능하다.) 간단한 소스에서는 편리하지만, 복잡한 코드에서는 유지보수가 힘들어질 가능성이 높음 Scope 전역 변수로 선언된 경우 : 모든 곳에서 사용할 수 있음 함수 내에서 선언된 경우 : 함수 내에서만 사용됨 변수 선언 전에도 사용 가능 // ======= 같은 이름으로 변수를 다시 선언 및 수정 가능 ========= var name = "멍목"; var name = "김멍목"; // 정상 작동 // ===============================================..
이 포스팅에서 작성하는 내용은 자바 ORM 표준 JPA 프로그래밍 (김영한 지음) 에서 발췌하였습니다. 1. 경로 표현식 .(점)을 찍어 객체 그래프를 탐색하는 것 SELECT m.username // 상태 필드 FROMMember m JOIN m.team t // 단일 값 연관 필드 JOIN m.orders o// 컬렉션 값 연관 필드 WHERE t.name = 'TEAM_A' 상태 필드(state field): 단순히 값을 저장하기 위한 필드(ex : m.username) 연관 필드(association field): 연관관계를 위한 필드 단일 값 연관 필드: @ManyToOne, @OneToOne, 대상이 엔티티(ex: m.team) 컬렉션 값 연관 필드: @OneToMany, @ManyToMany..