반응형
[BOJ 1309] 동물원 (Java, DP)
카테고리 없음2023. 7. 4. 18:12[BOJ 1309] 동물원 (Java, DP)

문제 링크 https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 문제 풀이 - 시간복잡도 O(N) - 최대치의 경우 9907에 대한 나머지를 구하라 하므로 Integer로 예상 가능 (문제 설명에 나머지 처리 없는 경우 최대치 잘 파악) 2 * 1 일때 0 의 경우 아무것도 없는 경우 1의 경우 왼쪽에 사자가 있는 경우 🦁 2의 경우 오른쪽에 사자가 있는 경우 🦁 2 * 2의 경우 1) 앞에 블록에 빈 우리 더할 경우 : 3가지 🦁 🦁 2) 왼쪽에 사자🦁가 있는 우리를 추가하는 경우 : 2 가지 빈 우리 아래에 추가하거나 🦁 오른쪽에 사자가 있는 우리 밑에 추가 할 수 있다 🦁 🦁 ..

[BOJ 9465] 스티커 (Java, DP)
알고리즘/동적 프로그래밍2023. 7. 4. 12:08[BOJ 9465] 스티커 (Java, DP)

문제 링크 https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 문제 풀이 - 시간 복잡도 O(N), 최대치 Integer 범위 내 - 스티커 하나를 뜯을 경우 상하좌우로 찢어져서 사용할 수 없게 됨 - 2 x N열 스티커, 2차원 배열 형태의 DP 문제 초기화 1 DP[0][i] 50 DP[1][i] 30 0번행의 2열 스티커를 뽑을 경우 아래 선택가능한 영역에서 최대치를 뽑아 더해주면 됨 0 1 2 O 스티커 선택 O O 1번행의 2열..

패스트캠퍼스 JavaScript 코딩테스트 강의 한 달 후기
공부/Javascript2023. 5. 12. 20:41패스트캠퍼스 JavaScript 코딩테스트 강의 한 달 후기

후기🧑‍💻 약 2년 전 단기간 코딩 테스트 준비를 하여 더 나은 곳으로 이직을 할 수 있었다. 실무에서 코딩 테스트와 같은 문제를 요구하지는 않지만, 문제 해결 과정에서 필요한 자료 구조 유형을 판단하여 사용하거나 알고리즘 기법을 응용해서 적용하거나 할 수 있었다. 이는 이전에는 할 수 없었던 경험이었다. 그러나 시간이 지남에 따라 잊게 되고, 할 줄 아는 거만 반복하는 모습에서 기본기가 부족한 게 아닌가 싶은 고민을 하고 있었고, 이러한 상황에서 기회가 되어 강의를 수강할 수 있었다. 한 단계 더 성장 강의 해설에 절차 지향적인 코드와 설명을 접하더라도 이해가 되지 않는 경우가 많았다. 그럴 때 마다 시야를 넓혀서 기술 블로그/유튜브 등을 통해 앞서 고민했던 사람의 흔적을 볼 수 있었고, 그 결과 새로..

패스트캠퍼스 JavaScript 코딩테스트 강의 4주차
공부/Javascript2023. 5. 8. 20:07패스트캠퍼스 JavaScript 코딩테스트 강의 4주차

온라인 코드 테스트 사이트 https://replit.com/ https://www.jdoodle.com/execute-nodejs-online/ Ch 10. 최단 거리 다익스트라 알고리즘(Dijkstra Algorithm) - 시작 노드를 기준으로 다른 모든 노드로 가는 최단 경로를 계산 - 간선의 가중치가 양수(>= 0)인 경우에 최단 거리를 구할 수 있음 - 다익스트라 알고리즘은 그리디(탐욕) 알고리즘으로 분류됨 => 매 상황에서 가장 비용이 작은 노드를 선택해 알고리즘 과정을 반복함 - 시간 복잡도 : O(ElogV) 다익스트라 알고리즘의 기본적인 구조/절차는 아래와 같다 * 알고리즘 동작과정 1. 출발 노드 설정 2. 최단 거리 테이블 초기화 (이때, 출발 노드는 0, 그 외는 INF) 3. 방..

패스트캠퍼스 JavaScript 코딩테스트 강의 3주차
공부/Javascript2023. 5. 1. 14:25패스트캠퍼스 JavaScript 코딩테스트 강의 3주차

온라인 코드 테스트 사이트 https://replit.com/ https://www.jdoodle.com/execute-nodejs-online/ Ch 07. DFS (깊이 우선 탐색) 알고리즘 문제 1-1) 바이러스 (실버3) - 양방향 그래프로 생각하고 인접 리스트 표현하기 // SUCCESS const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); const n = Number(input[0]); const v = Number(input[1]); const matrix = []; for(let i = 0; i = row || y >= col) return false; if(matrix[x]..

패스트캠퍼스 JavaScript 코딩테스트 강의 2주차
공부/Javascript2023. 4. 24. 10:28패스트캠퍼스 JavaScript 코딩테스트 강의 2주차

온라인 코드 테스트 사이트 https://replit.com/ https://www.jdoodle.com/execute-nodejs-online/ ch04. 그리디(탐욕) 알고리즘 추후 예정 문제 목록 더보기 문제 1-1) 동전0 문제 1-2) ATM 문제 1-3) 잃어버린 괄호 문제 2-1) 설탕배달(실버4) 문제 2-2) A -> B(실버2) 문제 2-3) 수들의 합 문제 2-4) 신입사원 문제 3-1) 주유소 문제 3-2) 회의실 배정 문제 3-3) 풍선 맞추기(골드5) 문제 3-4) 피보나치(실버1) 문제 4-1) 박 터뜨리기(실버4) 문제 4-2) 회문(골드5) 문제 4-3) 박스 채우기(골드3) ch05. 이진 탐색 순차탐색 이진탐색 - 리스트 안에 특정 데이터 찾기 위해 앞에서 부터 순차적으..

패스트캠퍼스 JavaScript 코딩테스트 강의 1주차
공부/Javascript2023. 4. 17. 15:50패스트캠퍼스 JavaScript 코딩테스트 강의 1주차

온라인 코드 테스트 사이트 https://replit.com/ https://www.jdoodle.com/execute-nodejs-online/ 빅오 표기법(Big-O Notation) 시간 복잡도 의미 O(1) 상수 시간(constant time) O(logN) 로그 시간(log time) O(N) 선형 시간(linear time) O(NlogN) 로그 선형 시간(log-linear time) O(N^2) 이차 시간(quadratic time) O(N^3) 삼차 시간(cubic time) O(2^N) 지수 시간(exponential time) - 시간 복잡도 (time complexity) : 알고리즘에 사용되는 연산 횟수 측정 - 공간 복잡도 (space complexity) : 알고리즘에 사용되는..

[Java] Collection Framework (콜렉션 프레임워크)
공부/Java2021. 9. 23. 17:42[Java] Collection Framework (콜렉션 프레임워크)

Collection Framework 다수의 데이터를 쉽고 효과적으로 처리가능한 표준화된 방법을 제공하는 클래스의 집합을 의미 즉, 데이터 저장하는 자료구조와 데이터 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 데이터를 제공하는 자료구조에 따라 다음과 같은 주요 인터페이스를 정의함 List 인터페이스 Set 인터페이스 Map 인터페이스 List, Set 인터페이스의 경우 Collection 인터페이스 상속 받지만, Map 인터페이스의 경우 구조상 차이로 별도로 정의됨 # 용어 정리 1. Collection (컬렉션) - 여러 객체(자료구조, 데이터)를 모아 놓은 것 2. Framework (프레임워크) - 표준/정형화된 체계적인 프로그래밍 방식 3. Collection Framework (컬렉..

반응형
image