2024/10 20

[AWS] SAA, SAP 늦은 합격 후기

AWS SAP 취득 후기를 더 휘발되기 전에 남겨본다SAAaws saa 를 취득한건 연초(1월말) 즈음이었고 약 2~3주 타이트하게 공부했다유데미 강의와 examtopics 문제만 봤고굵직한 키워드 기준으로 정리해서(약 125개 정도로 축약) 시험장 들어가기 전까지 반복해서 봤다  https://www.udemy.com/course/best-aws-certified-solutions-architect-associate/    Free & Accurate Amazon AWS Certified Solutions Architect - Associate SAA-C03 Practice Questions | ExamTopicsGet ready to prepare like you’ve never prepared be..

기타 2024.10.14

[프로그래머스] 두 개 뽑아서 더하기 - JAVA 풀이

[프로그래머스] 두 개 뽑아서 더하기문제 설명정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.제한사항numbers의 길이는 2 이상 100 이하입니다.numbers의 모든 수는 0 이상 100 이하입니다.입출력 예아이디어2중 루프 돌려서 중복 없이 리스트에 추가한다 (indexOf로 중복 체크 했지만 HashSet으로도 처리 가능)오름차순 정리JAVA 풀이import java.util.*;class Solution { public List solution(int[] n) { List tmp = new ArrayList();..

카테고리 없음 2024.10.13

[프로그래머스] 안전지대 - JAVA 풀이

프로그래머스 - 안전지대문제 설명다음 그림과 같이 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다.지뢰는 2차원 배열 board에 1로 표시되어 있고 board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재합니다.지뢰가 매설된 지역의 지도 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return하도록 solution 함수를 완성해주세요.제한사항board는 n * n 배열입니다.1 ≤ n ≤ 100지뢰는 1로 표시되어 있습니다.board에는 지뢰가 있는 지역 1과 지뢰가 없는 지역 0만 존재합니다.입출력 예아이디어board[i][j] 의 상하좌우, 대각선 상하좌우에 값을 1로 변환한 뒤 0의 갯수를 리턴한다테두리 경계값에 걸칠때 ..

알고리즘 2024.10.11

[LEETCODE] 706. Design HashMap

리트코드 - Design HashMap문제 설명내장 해시테이블 라이브러리를 사용하지 않고 HashMap을 구현하라예시제한 사항0 At most 104 calls will be made to put, get, and remove.아이디어제한 범위가 10^6 이라 배열로 충분히 간단하게 구현이 가능하다.사이즈 1000001인 배열을 만들고 인덱스를 키값으로 구현LinkedList를 활용해서 해결이 가능하다(추후 정리)JAVA 풀이class MyHashMap { int[] m; public MyHashMap() { m = new int[1000001]; Arrays.fill(map, -1); } public void put(int key, int value) { ..

알고리즘 2024.10.09

[프로그래머스] - 숫자 변환하기 JAVA 풀이

프로그래머스 - 숫자 변환하기 JAVA 풀이문제 설명자연수x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다.x에 n을 더합니다x에 2를 곱합니다.x에 3을 곱합니다.자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟수를 return하도록 solution 함수를 완성해주세요. 이때 x를 y로 만들 수 없다면 -1을 return 해주세요.제한사항1 ≤ x ≤ y ≤ 1,000,0001 ≤ n y입출력 예아이디어브루트포스로는 시간초과bfs로 해결이 가능하지만 dp가 가장 적절한 해법인듯 하다각 계산식 경우의 수 마다 비교해가면서 dp 배열 만들고 변환 불가처리만 주의하자JAVA 풀이class Solution { public int solutio..

알고리즘 2024.10.08

MySQL - 전문검색 쿼리 (자연어, BOOLEAN)

전문 검색 쿼리 모드MySQL 서버의 전문 검색 쿼리는 자연어 검색모드, BOOLEAN 검색모드를 지원하고 default 는 자연어 검색이다.자연어 검색모드와 같이 사용할 수 있는 검색어 확장 기능도 지원한다.자연어 검색 (NATURAL LANGUAGE MODE)자연어 검색은 검색어에 제시된 단어들을 가장 많이 가지고 있는 순으로 정렬해서 결과를 반환한다.SELECT id, title, contents, MATCH(title, contents) AGAINST ('뿌링클' IN NATURAL LANGUAGE MODE) AS scoreFROM articleWHERE MATCH(title, contents) AGAINST ('MySQL' IN NATURAL LANGUAGE MODE);BOOLEAN 검색자연어 ..

데이터베이스 2024.10.06

[프로그래머스] PCCP 기출문제 - 붕대 감기 JAVA 풀이

프로그래머스 - 붕대 감기문제 설명어떤 게임에는 붕대 감기라는 기술이 있습니다.붕대 감기는 t초 동안 붕대를 감으면서 1초마다 x만큼의 체력을 회복합니다. t초 연속으로 붕대를 감는 데 성공한다면 y만큼의 체력을 추가로 회복합니다. 게임 캐릭터에는 최대 체력이 존재해 현재 체력이 최대 체력보다 커지는 것은 불가능합니다.기술을 쓰는 도중 몬스터에게 공격을 당하면 기술이 취소되고, 공격을 당하는 순간에는 체력을 회복할 수 없습니다. 몬스터에게 공격당해 기술이 취소당하거나 기술이 끝나면 그 즉시 붕대 감기를 다시 사용하며, 연속 성공 시간이 0으로 초기화됩니다.몬스터의 공격을 받으면 정해진 피해량만큼 현재 체력이 줄어듭니다. 이때, 현재 체력이 0 이하가 되면 캐릭터가 죽으며 더 이상 체력을 회복할 수 없습니..

알고리즘 2024.10.04

MySQL - LIKE 문에서 전문검색으로의 전환

FULL TEXT INDEX검색을 개선해보자데이터가 점차 쌓이다 보니 슬로우 쿼리도 생기고 정확도 순으로의 검색도 도입해보자LIKE문 에서 FULLTEXT조회로 변환한다전문검색MySQL 서버의 인덱스라 하면 B-Tree 자료구조로 단어를 검색이 가능하지만 MySQL 서버는 용량이 큰 문서를 단어 수준으로 잘게 쪼개 문서검색이 가능한데 이것을 전문검색(Full-text Search)라고 한다.예전 버전의 MySQL서버는 일부 스토리지 엔진에서만 제공됐던 전문검색 기능을 8.0 버전부터 InnoDB 스토리지 엔진에서도 사용 가능하도록 개선되었다.문서의 단어들을 분리해 형태소를 찾고 인덱싱하는 방법은 서구권 언어에서는 적합하지만 한국어에는 적합하지 않다. 이것을 보완하기 위해 MySQL 8.0에서부터 형태소나..

데이터베이스 2024.10.03

[프로그래머스] 정수를 나선형으로 배치하기 JAVA 풀이

정수를 나선형으로 배치하기문제 설명양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n^2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.제한사항1 입출력 예아이디어방향을 분류(상하좌우) 한다.분류한 방향의 다음에 값이 있는지 체크, 방향 전환 처리 주의풀이class Solution { public int[][] solution(int n) { int[][] answer = new int[n][n]; int col = 0; int row = 0; // 방향 - e: 우, s: 하, w: 좌, n: 상 String direction = "e..

알고리즘 2024.10.02

[프로그래머스] PCCP 기출문제 - 동영상 재생기 JAVA 풀이

동영상 재생기문제 설명당신은 동영상 재생기를 만들고 있습니다.당신의 동영상 재생기는 10초 전으로 이동, 10초 후로 이동, 오프닝 건너뛰기 3가지 기능을 지원합니다.각 기능이 수행하는 작업은 다음과 같습니다.10초 전으로 이동:사용자가 "prev" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 전으로 이동합니다. 현재 위치가 10초 미만인 경우 영상의 처음 위치로 이동합니다. 영상의 처음 위치는 0분 0초입니다.10초 후로 이동:사용자가 "next" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 후로 이동합니다. 동영상의 남은 시간이 10초 미만일 경우 영상의 마지막 위치로 이동합니다. 영상의 마지막 위치는 동영상의 길이와 같습니다.오프닝 건너뛰기:현재 재생 위치가 오프..

알고리즘 2024.10.01