일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 동적계획법
- 스프링
- 그리디
- BFS
- 너비우선탐색
- 브루트포스
- broadcast
- 알고리즘
- DFS
- greedy
- Network
- 깊이우선탐색
- Algorithm
- 구현
- 해시
- DP
- switch
- 프로그래머스
- 이분탐색
- 네트워크
- HashMap
- DynamicProgramming
- programmers
- 백준
- 백트래킹
- Spring
- boj
- dynamic programming
- Backtracking
- 해시맵
- Today
- Total
목록전체 글 (47)
옌의 로그
문제 [프로그래머스] 게임 맵 최단거리 사용 알고리즘 - 너비우선탐색 (Breath-First Search) 해결방법 BFS사용해서 풀면 되는데, 결국 문제에서 구해야 하는 것은 최단 경로로 이동했을 때의 길이이므로, 방문을 체크하는 visited 배열에 길이를 저장해주도록 한다 그래프에서 상,하,좌,우 로 이동이 가능하므로 4방향 이동을 간단하게 표현하기 위해 dir 배열을 만들어 사용 needVisit배열이 BFS의 큐로 보면 되고, 이때 FIFO이므로 while 루프에서 꺼낼 때 shift() 메소드를 사용해 먼저 들어온 것 부터 체크 방문하지 않은 지점 (visited배열의 값이 0) 혹은, 이미 방문한 지점이지만 현재 위치에서 한 칸 이동한 것의 길이가 더 최단일 경우 큐(needVisit)에 ..
문제 [프로그래머스] N으로 표현 사용 알고리즘 - 동적계획법 (Dynamic Programming) 해결방법 dp 즉, 메모이제이션을 사용한다 N = 5 일 때, dp[N의 개수] = 만들 수 있는 정수의 집합 dp[1] = 5 dp[2] = 10, 0, 25, 1, 55 5+5, 5-5, 5*5, 5/5, 55 dp[3] = 3개의 5로 만들 수 있는 정수 집합 = dp[1] 과 dp[2]의 연산 결과 집합 = [5] (+, -, *, / ) [10, 0, 25, 1, 55] dp[4] = 4개의 5로 만들 수 있는 정수 집합 = dp[1] X dp[3] + dp[2] X dp[2] dp[5] = 5개의 5로 만들 수 있는 정수 집합 = dp[1] X dp[4] + dp[2] X d[3] -, /의 ..
EC2 인스턴스 생성 https://www.cloud-jjunni.com/entry/AWS-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EC%83%9D%EC%84%B1 [AWS] EC2 - 인스턴스 생성 안녕하세요! 두루뭉실 블로그의 주인장 두루뭉실 엔지니어입니다! 오늘은 AWS의 EC2를 활용하여 실습을 해보겠습니다! AWS EC2가 무엇인지 궁금하신 분은 아래 링크로 들어와 주세요~!! [AWS] EC2에 대 www.cloud-jjunni.com EC2에 접속하여 초기 설정 SSH로 EC2 접속 cd 명령어로 키 페어 폴더로 이동 키 페어 권한 수정 (owner에게만 r,w 권한 부여) ssh -i 키이름.pem ec2-user@인스턴스주소 $ cd dev $ chmod..
문제 [프로그래머스] 표 편집 (2021 카카오 채용연계형 인턴쉽) 사용 알고리즘 - 연결리스트 (Linked List) 해결방법 표의 각 행 정보를 저장하는 Node를 만들고, 해당 노드들을 가지고 linked list를 생성한다 Node는 행의 index, 해당 행 이전 행의 index(prev), 다음 행의 index(next)를 갖는다. moveSelectedNode (count, direction) : 명령어 U, D 사용 direction (prev, next) 방향으로 count 만큼 이동하여 select 된 Node를 변경 deleteNode : 명령어 C 사용 현재 select된 Node를 cStack에 따로 저장 후 해당 Node의 prevNode의 next, 해당 Node의 nextN..
[Index] 네트워크 정의 네트워크 구성요소 네트워크 용어 네트워크 장비 네트워크 정의 분산되어 있는 컴퓨터들을 자원이나 정보를 공유하기 위하여 통신망으로 연결한 것 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합을 통칭 프로토콜(protocol) : 전송 매체를 통해 데이터를 교환하기 위한 특정 규칙. 데이터 캡슐화 / 캡슐 해제화 기능 구성 : 목적지주소 / 출발지주소 / TYPE-Length / Data / FCS 종류 : OSI 7계층, TCP/IP, NetBios, AppleTalk, SNA 등 전송 매체로 서로 연결된 시스템의 모음 네트워크 구성요소 노드(장치) + 링크 장치 : PC, 서버, 라우터, 스위치 링크 : 유선, 무선 네트워크 용어 패킷 컴퓨터 간 데이터를 주고받을 때 네트워..
문제 [프로그래머스] 정수 삼각형 사용 알고리즘 - 동적계획법(Dynamic Programming) 해결방법 2차원 db배열을 만들어 구한다. dp[i][j] == (i, j) 지점까지 가는데 발생한 최대 경비 꼭대기에서 바닥까지 이어지는 경로를 구하는데, 이 때 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능 dp[i][j] = max(dp[i-1][j-1], dp[i-1][j]) + triangle[i][j] dp[2][1] = max(dp[1][0], dp[1][1]) + triangle[2][1] 각 층의 첫 번째 자리는 위 층에서만 갈 수 있다 dp[i][0] = dp[i-1][0] + triangle[i][0] dp[3][0] = dp[2][0] + trian..
문제 [프로그래머스] 등산코스 정하기 (2022 KAKAO TECH INTERNSHIP) 사용 알고리즘 - 다익스트라 해결방법 (출발지 - 산봉우리 - 출발지) 해당 등산 루트에서 intensity 가 가장 작은 경로를 구해야 하는데 해당 문제는 양방향 그래프이므로 (출발지 - 산봉우리) 편도만 확인해도 된다. intensity == 휴식 없이 이동해야 하는 시간 중 가장 긴 시간 모든 출발지들을 우선순위 queue에 넣고 탐색을 시작한다. 탈출 조건 해당 지점에서의 intensity가 이미 구해진 경우 산봉우리에 도착한 경우 temp 큐에 산봉우리 번호와 비용(intensity)를 저장한다. 더보기 더보기 now: 1 to: 2 cost: 0 weight: 3 pq.push(3, 2) now: 3 to..