전체 글 404

[프로그래머스] Lv0. 외계어사전 파이썬

외계어 사전 문제 설명 PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요. 원래 이중 반복문으로 word와 spell을 돌면서 찾으려 했는데 뭔가 잘 안됐다. 그러다가 차집합을 이용한 풀이를 봤다. 차집합... def solution(spell, dic): for word in dic: if not set(spell) - set(word): return 1 return 2 다른 풀이 def solution(spell, di..

[프로그래머스] Lv0. 안전지대

안전지대 문제 설명 다음 그림과 같이 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다. 지뢰는 2차원 배열 board에 1로 표시되어 있고 board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재합니다. 지뢰가 매설된 지역의 지도 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return하도록 solution 함수를 완성해주세요. def solution(board): answer = 0 boom_index = [] for i in range(len(board)): for j in range(len(board)): if board[i][j] == 1: boom_index.append((i,j)) result_board = board..

[프로그래머스] Lv3. 네트워크 파이썬 dfs, bfs

네트워크 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. dfs def solution(n, computers): answer = 0 visited = [False] * n for computer in range(n): if ..

[프로그래머스] Lv2. 타겟 넘버 파이썬 DFS, BFS

타겟 넘버 문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. BFS def solution(numbers, target): leaves = [0] count = 0 for num in n..

커넥션 풀

DB 드라이버를 사용하면 매번 데이터베이스를 사용할 때마다 TCP/IP 커넥션을 맺어야 한다. 그래서 커넥션을 미리 생성해두고 사용하는 커넥션 풀이라는 방법을 사용한다. 애플리케이션이 시작할 때 커넥션 풀은 필요한 만큼 커넥션을 미리 확보해서 보관한다. 커넥션 풀에 들어가 있는 커넥션은 TCP/IP로 데이터베이스와 연결되어 있는 상태라서 언제든지 즉시 SQL을 데이터베이스에 전달할 수 있다. 어플리케이션 로직은 이미 생성되어있는 커넥션을 객체 참조로 가져다쓰기만 하면 된다. 커넥션을 사용하고 나면 커넥션을 종료하는 것이 아니라 살아있는 상태로 커넥션 풀에 반환한다. DataSource 커넥션을 DB 드라이버로 얻다가 커넥션 풀 중 하나인 hikariCP로 바꾸려 하면, 커넥션을 획득하는 어플리케이션 코드..

Spring 2024.02.01

JDBC

클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회하면, 애플리케이션 서버는 데이터베이스를 사용한다. 커넥션 연결 SQL 전달: 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션으로 전달 결과 응답: SQL을 수행하고 결과 응답. JDBC를 직접 코딩할 일은 웬만하면 없다. Sql Mapper나 ORM 기술을 사용하기 때문에 하지만 JDBC를 이해할 필요는 있다. @Slf4j public class DBConnectionUtil { public static Connection getConnection() { try { Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); //라이브러리에 있는 ..

Spring 2024.01.31

Spring Toy Project-1

Mat & Mut이라는 이름으로 커뮤니티 형태를 만들어보고 있다. 토이프로젝트를 하면서 기억해둘 것 th:text -> 요소의 텍스트 내용을 설정하는데 사용한다. ex) th:text="${item.itemName}" th:value -> input이나 select의 값을 설정하는데 사용한다. ex) th:value="${user.name}" th:object -> form이나 반복에서 전달받을 객체나 입력을 담을 객체를 설정하는데 사용한다. th:field -> th:object에서 객체를 설정한 것을 바탕으로 member가 가진 변수 name이나 age 등을 쉽게 설정할 수 있다. /*th:object 사용X*/ /*th:object 사용*/ 검증에서 BindingResult는 @ModelAttrib..

Spring 2024.01.31

[프로그래머스] Lv2. 더 맵게 파이썬

더 맵게 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 내 풀이 im..

[프로그래머스] Lv2. 주차 요금 계산 파이썬

2022 KAKAO BLIND RECRUITMENT 주차 요금 계산 문제 설명 문제 설명 주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다. 요금표 기본 시간(분)기본 요금(원)단위 시간(분)단위 요금(원) 180 5000 10 600 입/출차 기록 시각(시:분)차량 번호내역 05:34 5961 입차 06:00 0000 입차 06:34 0000 출차 07:59 5961 출차 07:59 0148 입차 18:59 0000 입차 19:09 0148 출차 22:59 5961 입차 23:00 5961 출차 자동차별 주차 요금 차량 번호누적 주차 시간(분)주차 요금(원) 0000 34 + 300 = 334 5000 +..

728x90