목록언어
Step-by-Step
JPA (Java Persistence API; 자바 영속성 API) - 자바 플랫폼 SE와 자바 플랫폼 EE를 사용하는 응용프로그램에서 관계형 데이터베이스의 관리를 표현하는 자바 API - 일반적으로 데이터를 저장할때 RAM(휘발성) → 하드디스크(비휘발성)로 옮김 - JAVA에 있는 데이터를 하드디스크의 DB로 옮겨 영구 저장을 할 수 있도록 해주는 API ※ 영속성(Persistence) : 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성 + 영속성은 파일시스템, 관계형 데이터베이스, 객체 데이터베이스 등을 활용하여 구현 JPA 특징 1. ORM(Object Relational Mapping) 기술 - 객체와 관계형 데이터베이스의 데이터를 자동으로 Mapping(연결)해주..
https://reactrouter.com/docs/en/v6/api#useroutes React Router | API Reference Declarative routing for React apps at any scale reactrouter.com React-router-dom이 v5에서 v6으로 업그레이드 되었다 새로운 버전을 사용하면서 기능들을 매번 찾아보기 힘드니까 공식문서와 여러 검색을 통해 정리해야겠다 사용해본 기능들 위주로 정리하고, 하나씩 추가 예정이다 (※ 참조한 문서들은 아래에 표시) [설치] $ npm install react-router-dom # or, for a React Native app $ npm install react-router-native 1. Switch 대신 ..
https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 이 문제는 어떻게 접근해야하는지만 깨달으면 쉽게 풀 수 있는 문제인데,,, 사실 그러기가 쉽지 않다(어렵다) 문제에서 이런식으로 주사위를 펼쳐놓은 모양을 보여주고, 친절하게 번호까지 지정해준다 (이게 큰 힌트) 주사위가 어떤 칸에 도달하면, 칸의 숫자가 0이 아니면 주사위 밑면에 값을 복사하고 0으로 만들어주며 칸의 숫자가 0이면 ..
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 대학교 1학년때 자주하던 2048 게임이 나왔다! 워낙 자주하던 게임이라 따로 해보지 않아도 규칙을 알고 있었다 ※ 게임 해보기 : https://play2048.co/ 블록은 상하좌우 네 방향으로 밀 수 있으며, 같은 숫자를 가진 두 블록이 충돌하면 두 값이 합쳐진 하나의 블록으로 변하게 된다 여기서 Stack을 사용해야겠다고 생각했다..! 보드의 크기는 NXN(N=..
Java로 코딩 문제를 풀던 도중, 2차원 배열을 복사할 일이 생겼다 정확하게 복사하기 위해 구글에 검색해보던 도중, 배열의 복사에는 두 가지가 있다는 걸 알게 되었다 첫 번째는 배열의 주소값을 복사하는 얕은 복사(shallow copy), 두 번째는 배열의 값 자체를 복사하는 깊은 복사(Deep copy) 얕은 복사(Shallow Copy) - 주소값을 복사하는 방식으로, 복사 후 한쪽에서 값을 변경하면 다른 쪽에서도 변경된다 - 두 배열이 같은 값을 참조하기 때문에 한쪽에서 바꾸면 다른 쪽 배열의 값도 바뀌게 된다 int[] a = {2,3,5}; int[] b = a; System.out.println("b:"+b[0]+","+b[1]+","+b[2]); b[1] = 100; System.out.p..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 깊이우선탐색(DFS)과 너비우선탐색(BFS) 중에 하나를 선택해서 풀어야 하는 문제였다 시간 복잡도는 비슷하다고 생각해 조금 더 익숙한 DFS를 선택했고, 코드를 작성하였다 코드 설계는 다음과 같이 하였다 1. 우선 사방 중에 갈 수 있는 곳을 찾은 후, 재귀를 이용하여 계속 탐색한다 2. 더 이상 갈 수 없는 곳이 나오면 해당 함수를 종료(return)하고 다음 방향으로 탐색한다 3. 최종 목적지에 도달하면 전역 변수에 이동한..
ArrayList에 추가를 하면 객체의 값이 저장되는게 아니라 주소 값을 저장하게 된다 예제를 통해 설명하면 import java.util.*; public class Solution{ public static void main(String[] args){ ArrayList arrays = new ArrayList(); ArrayList arr = new ArrayList(); for(int i=0; i
https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 이틀동안 머리를 굴려 완성한 코드,, 솔직히 인터넷에 검색하면 내가 작성한 코드보다 훨씬 좋은 방법이 많이 있을거 같았는데, 끝까지 해내고싶어서 완성한 코드이다 하하하하 정말 이 코드를 짜면서 배운점이 많다... 그래서 포스팅을 추가로 할 ..