전체 글 (2281) 썸네일형 리스트형 (C++, Python3) - 백준(BOJ) : 벽 부수고 이동하기 2 https://www.acmicpc.net/problem/14442bfs 문제였습니다.📕 풀이방법📔 입력 및 초기화1. n행 m열 부술 수 있는 벽 k를 입력받습니다. 2. 2차원 map_input에 지도를 입력받습니다.📔 풀이과정bfs함수를 수행하며 다음을 진행합니다. 1. i행 j열에 방문해 부순 벽의 개수 k개를 검사하기 위해 queue를 선언 후 행,열,부순 벽의 개수를 tuple형태로 push해줍니다.* python의 경우 일반적인 배열로 queue처럼 사용하면 pop때마다 O(n)이 소요되므로 deque를 사용해줍니다. 2. i행 j열에 k개의 벽을 부쉈을 때 최단경로 check배열을 3차원으로 선언 후 각 원소를 0으로 저장합니다. 2. 인접 4방향에 대해 loop를 수행하며 다음을.. (Java, Python3) - 프로그래머스(연습문제): 크기가 작은 부분문자열 https://school.programmers.co.kr/learn/courses/30/lessons/147355?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문자열을 다뤄보는 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 정답 변수 answer 선언 후 0으로 초기화합니다. 2. p의 길이를 선언 후 해당 값을 저장합니다.📔 풀이과정p길이만큼 자르기 위해 0부터 t의 길이 - p의 길이까지 for loop를 수행하며 다음을 진행합니다.1. 자른 부분 문자열을 저장해주고 p보다 작다면 answer를 1증가시켜줍니다. 파이썬의 경우 문자열,정수 비교를 모두 📔.. (OOP) - IoC와 DI란? 🍳머리말IoC(Inversion of Control) 과 DI(Dependency Injection)에 대해 알아봅니다📕 정의📔 IoC객체의 생성과 라이프사이클 관리를 개발자가 아닌 프레임워크 또는 컨테이너가 하도록 하는 설계 원칙객제 간 제어 권한을 개발자가 아닌 프레임워크로 역전대표적 구현 방식: DI📔 DI객체가 의존성을 외부에서 주입받는 설계 패턴으로 IoC를 구현하는 주요 방법객체는 자신이 필요한 의존성을 컨테이너에서 주입받아 사용📕 주요 특징📔 IoC📑 제어권 역전객체 생성 및 의존성 관리를 프레임워크 또는 컨테이너에서 담당📑 프레임 워크 중심 설계객체간 상호작용이 프레임워크에 의해 관리📑 유연성객체 간 결합도를 낮춰 다양한 구성, 확장 가능. 유지보수성 향상📔 DI.. (Python3) - 프로그래머스(연습문제): 카드 뭉치 https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다.📕 풀이방법📔 입력 및 초기화cards1의 index idx1, cards2의 index idx2를 선언 후 0, 0으로 각각 초기화합니다.📔 풀이과정goal의 원소를 순회하며 다음을 진행합니다.1. cards1의 idx1번째 원소가 현재 goal의 문자열과 같다면 바로 뽑아주고 idx1을 1증가시킵니다.2. 이외에 cards2의 idx2번째 원소가 같다면 idx2를 증가시킵니다.3. 1,2번 경우 모두 아니라면 뽑을.. (Python3) - 백준(BOJ) 1561 : 놀이 공원 https://www.acmicpc.net/problem/1561이분 탐색 문제였습니다.📕 풀이방법📔 입력 및 초기화탑승자 아이들의 수 child, 놀이기구 수 attractions, 각 놀이기구별 탐승시간 ride_times선언 후 입력 받습니다.📔 풀이과정무엇에 대해 이분탐색을 해야하는지 찾기가 쉽지 않았습니다. 처음 탑승할 아이의 수가 많기 때문에 그 숫자에 힌트를 얻어 아이에 대해 이분탐색을 진행했으나 각 놀이기구마다 탐승 가능한 아이의 수가 제각각 다르기 때문에 반대로 특정 시간(last_time)이 지났을 때 누적된 탑승자 수가 입력 받은 child값과 일치하는지 확인하는 방식으로 접근해야합니다. 1. 이분 탐색을 진행해줍니다. 1-1. left와 right변수를 설정해 시간을 이.. (MySQL) - 프로그래머스(String, Date): https://school.programmers.co.kr/learn/courses/30/lessons/157343 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krlike절을 사용하는 문제였습니다.📕 풀이방법📔 풀이과정네비게이션이 option에 포함된 행을 select해서 car_id에 대해 내림차순으로 정렬해 반환합니다.📕 Code📔 MySQL-- 코드를 입력하세요SELECT * from CAR_RENTAL_COMPANY_CAR where options like '%네비게이션%'order by CAR_ID desc*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다. (Python3) - 프로그래머스(코딩 기초 트레이닝): 정수를 나선형으로 배치하기 https://school.programmers.co.kr/learn/courses/30/lessons/181832 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 우, 하, 좌, 상의 방향을 위해 dr, dc배열을 선언 후 적절히 초기화합니다. 2. 정답 변수 answer 선언 후 n*n의 2차원 배열을 선언합니다. 3. 값 val선언 후 1로 초기화합니다. 4. 시작행과 열 r, c선언 후 각각 0으로 초기화합니다. 5. 방향 direction을 선언 후 0으로 초기화합니다.📔 풀이과정n*n만큼의 for loop를 수행하며 다음을 진행합니다... (Python3) - 백준(BOJ) 21758 : 꿀 따기 https://www.acmicpc.net/problem/21758누적합 문제였습니다.📕 풀이방법📔 입력 및 초기화전체 칸 수 n과 각 칸의 꿀 양 honey를 선언 후 입력받습니다.📔 풀이과정왼쪽부터 i까지 꿀을 채취했을 때 누적량을 계산해서 최댓값을 반환하는 함수 max_honey를 구현해줍니다.n이 10만이므로 단순 brute force로 두 마리의 벌과 벌통을 삼차원 for loop로 계산하면 시간초과입니다. 따라서 O(n)또는 O(nlogn)의 시간복잡도를 가진 알고리즘으로 해결해야 함을 알 수 있습니다. 벌통과 꿀벌의 배치를 보시면 3가지 경우가 있음을 알 수 있습니다.1. 가장 왼쪽에 벌통이 있는경우마지막 위치에 꿀벌 한 마리가 있는 것이 가장 많은 꿀을 채취할 수 있습니다. 2. 가.. 이전 1 2 3 4 ··· 286 다음