본문 바로가기

전체 글73

그리디 - 숫자 카드 게임 이차원 배열에서 행 중 가장 작은 수만 골라서 그 중 가장 큰 수를 찾는 게임 이차원 배열을 입력받으면서 그 중 작은수들을 고르고 한번 더 비교를 통해 더 큰 수를 찾는다. 현재 문제에는 몇번째 행이라던가 그런 추가 조건이 없기 때문에 비교적 쉬운 문제다. 사실 배열은 생성할 필요도 없지만 현재 테스트 코드에서 모든걸 끝내기 위해 작성했다. @Test void 그리디_숫자_카드_게임() { // 배열의 한 행을 고르는데, 배열의 행에서 가장 작은값이 선택될 경우 가장 큰 값을 고르는 방법 int n = 3; int m = 3; int[][] arr = { {3,1,2}, {4,5,4}, {2,2,2} }; List list = new ArrayList(); for (int i = 0; i < n; i++.. 2022. 1. 5.
그리디 - 큰 수 구하기 n, m, k 세 개의 값을 받아서 n 만큼의 숫자를 배열에 담고, m 번 만큼 숫자를 나열하는데 한 숫자당 연달아 k만큼 가능하다. n = 5, m = 5, k = 2 n = { 1, 2, 3, 4, 5} 가장 큰 수의 조합은 5 5 4 5 5 형태가 된다. @Test void 그리디_큰수구하기() { // 같은 숫자를 연달아 k번 반복가능, m만큼 나열했을때 가장 큰수 int m = 8; int k =3; /** * 만약 값을 입력받는다면 List로 받아서 Collections 정렬을 하자. * 배열로 받아서 Arrays.sort는 reverseOrder가 까다로움. */ List list = Lists.newArrayList(2, 6, 4, 5, 4); list.sort(Collections.rev.. 2022. 1. 4.
나는 LINE 개발자입니다 책 리뷰 나는 LINE 개발자입니다. 라는 책을 읽었다. 2019년 9월에 발행된 책인데, 매번 봐야지 하다가 이제야 겨우 봤다. 날이 추워서 점심시간을 도시락으로 대체했더니 밥을 먹으면서 책을 읽을 시간이 생겼다. 내용의 흐름은 라인에서 일하는 12명의 개발자와 담당자분들이 해당 업무에 빠지게 된 과정 및 라인의 입사 전/후를 이야기한다. 라인이라는 회사에 대해서 내가 알고 있는 것은 일본의 카톡, 코딩테스트 난이도 상, 높은 연봉이 전부였다. 그러나 책에서는 라인은 훨씬 더 글로벌하고 한번 도전해보고 싶은 회사라는 걸 느끼게 해준다. 개인적으로 놀랐던 부분은 생각보다 많은 분야의 개발을 진행한다는 것과 한 분야에서 유명하거나 초창기 구성원으로 활동하신 많은 분이 라인에서 업무를 진행하고 있다는 것이었다. 지나.. 2021. 12. 29.
expected "identifier"; SQL statement: springboot에서 h2 in-memory를 이용하요 테스트를 하는 중 발생하였다. 각각 테스트를 위한 엔티티를 매번 만들고 있는데 원하는 테스트는 Instant를 이용한 조회였다. 날짜가 들어가니까 무지성 Order Entity를 만들었다. 그때 발생한 에러 Syntax error in SQL statement "INSERT INTO ORDER[*] (REQUEST_DATE, ID) VALUES (?, ?)"; expected "identifier"; SQL statement: Hello 엔티티와 다른부분이 Instant 필드가 하나 들어간 것 뿐인데 insert가 계속 에러가 발생하는것... 진짜 별짓을 다 해봤는데 같은 에러가 발생해서 찾은 글 https://www.fwantastic.com/2.. 2021. 12. 28.
H2 In-memory 사용시 delete log 확인 in-memory db를 사용하여 repository delete를 테스트 하는 법 테스트 폴더에 application.yml을 생성하여 in-memory database를 사용중이다. application.yml 안 내용은 다음과 같다. 아무것도 없어도 되지만 로그를 보기 위해서 show-sql를 추가했다. format이 잡힌 형식으로 뽑아낼수도 있지만 여러개의 데이터를 insert하고 delete 하기 위해서 하지 않았다. 내가 짠 코드는 다음과 같다. 해당 코드를 작성한 이유는 N+1 및 jpa delete에 대해 공부하고 블로그 글을 작성하려고 했다. 문제는 내가 예상한 insert 100개의 로그는 정상적으로 나타나지만 delete 로그가 나타나지 않는것이다. 이걸 위해서 application... 2021. 11. 25.
Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 오랜만에 github에 푸쉬하려는데 다음과 같은 에러가 발생했다. 간단하게 이제부터 github에 push할때 비밀번호가 아니라 ssh나 토큰을 이용해야 한다는것이다. 근데 문제는 나는 이미 글로벌로 패스워드까지 등록을 해서 push하자마자 저 에러가 나타났다. 만약 글로벌로 등록하지 않은사람은 패스워드에 github에서 발급한 토큰만 붙여넣기하면 된다. 토큰을 발급 받는 방법은 간단하다. github에 로그인해서 Settings -> Developer settings -> Personal access tokens -> 토큰을 새로 만들면 된다. 잘 모르겠는데 토큰은 발급받고 다시 볼 수 없으니? 저장해둬야 한다. 위에서 언급했듯이 이렇게 발급받은 토큰을 그냥 push할때 아이디를 치고 패스워드 대신 넣.. 2021. 11. 5.