본문 바로가기

전체 글

Swap Nodes in Pairs (Linked List) LeetCode의 Swap Nodes in Pairs 문제다. Swap Nodes in Pairs - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 연결 리스트로 주어진 노드를 2개씩 swap, 즉 서로 위치를 바꾸는 것이 문제의 목적이다. 예를 들어 노드가 1 -> 2 -> 3 -> 4처럼 주어진 연결 리스트가 있을 때 2 -> 1 -> 4 -> 3처럼 한 쌍씩 바꿔야 하며 만약 홀수개의 노드만 있다면 바꾸지 않는다. 즉 1 -> 2 -> 3 은 2 -> 1 .. 더보기
Spring HATEOAS를 이용한 REST 이 포스트는 스프링의 튜토리얼을 실습하는 내용이다. Building REST services with Spring this tutorial is designed to be completed in 2-3 hours, it provides deeper, in-context explorations of enterprise application development topics, leaving you ready to implement real-world solutions. spring.io 흔히 RESTful API 하면 생각나는 제일 큰 특징은 json 형식의 응답이다. 기존의 웹 서버가 사용자의 요청에 대해 템플릿 렌더링이나 JSP 등을 통해 HTML 문서를 응답으로 반환했다면 API 서버에서는 json, .. 더보기
Spring의 DB Spring에서는 JDBC, MyBatis, JPA 등 여러 가지 방법을 이용하여 다양한 데이터베이스에 접근할 수 있으며 Spring Data 프로젝트에서는 JDBC, JPA, MongoDB 등 다양한 DB 접근 모듈이 제공되고 있다. 이번 포스트에서는 이런 프로젝트가 아닌 일반 JDBC와 JdbcTemplate을 다루도록 하겠다. JDBC DriverManager Java에서 데이터베이스에 접근할 수 있는 기술인 JDBC는 DriverManager라는 클래스를 사용하여 데이터베이스에 연결할 수 있다. 이 드라이버 매니저는 JDBC 드라이버를 관리하는 클래스로 애플리케이션은 이를 이용하여 여러 종류의 데이터베이스에 유연하게 접속할 수 있다. 이는 사전에 데이터베이스의 제조사들이 자신들의 데이터베이스에 접.. 더보기
2021.03.10 Wed - 게시판 프로젝트, 프로그래머스 데브매칭 준비 최근에는 스프링, 스프링 부트 관련 공고를 자주 찾아보고 있는데 프로그래머스에서 엊그제(3월 8일)부터 백엔드 데브매칭 모집을 시작했다. 2021 Dev-Matching: 웹 백엔드 개발자(상반기) 접수 21년 03월 08일 11:00 ~ 04월 02일 17:00 테스트 21년 04월 03일 13:00 ~ 04월 03일 15:00 programmers.co.kr 데브매칭에서 실제로 취업까지 이어지는 경우는 드물다곤 하지만 그래도 코딩 테스트라도 보고 지원서라도 작성해보면서 최근 나태해진 나 자신을 좀 끌어올릴 수 있는 계기가 됐으면 좋겠다. 일단 코딩 테스트는 참가에 제한이 없으니 다행이지만 작성해야 하는 지원서가 사람인이나 다른 곳처럼 이런저런 항목들이 많은 게 아니라 딱 경력사항이나 진행한 프로젝트 .. 더보기
Add Two Numbers (Linked List) LeetCode의 Add Two Numbers 문제다. Add Two Numbers - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 연결 리스트로 주어진 역순 숫자들을 각각 합해서 동일하게 역순 숫자들의 연결 리스트로 반환하는 문제다. 이때 리스트의 각 숫자들은 숫자 문자열의 각 자릿수를 역순으로 나열한 것인데 아래와 같은 구조로 주어진다. 예를 들어 [2, 4, 3]의 리스트(연결 리스트지만 일반 리스트로 표현한다)와 [5, 6, 4]의 리스트가 주어지면 [.. 더보기
Reverse Linked List (Linked List) LeetCode의 Reverse Linked List 문제다. Reverse Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 단방향 연결 리스트를 뒤집는 기능을 구현하는 문제다. 별로 어려운 문제는 아닌데 다음처럼 파이썬의 다중 할당(multiple assignment)을 사용해서 간단하게 풀 수 있어서 포스팅으로 남긴다. class Solution: def reverseList(self, head: ListNode) -> ListNode.. 더보기
Merge Two Sorted Lists (Linked List) LeetCode의 Merge Two Sorted Lists 문제다. Merge Two Sorted Lists - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 두 개의 정렬된 연결 리스트를 받아 하나의 정렬된 리스트로 합치는 문제다. 두 연결 리스트는 정렬되어 있기 때문에 단순히 두 리스트 요소들을 비교하면서 결과 리스트에 삽입하는 방식으로 구현하면 다음과 같다. class Solution: def mergeTwoLists(self, l1: ListNode, l.. 더보기
Palindrome Linked List (Linked List) LeetCode의 Palindrome Linked List 문제다. Palindrome Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 회문(Palindrome)을 구하는 문제인데 이번에는 단방향 연결 리스트를 활용하고 있다. 가장 먼저 생각해볼 수 있는 방법은 연결 리스트를 리스트로 바꿔서 거꾸로 뒤집어서 비교해보는 것이다. class Solution: def isPalindrome(self, head: ListNode) -> bool:.. 더보기