분류 전체보기 97

[프로그래머스] 등굣길

문제 보러가기 : https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr 이번 문제는 동적 프로그래밍 문제였습니다. 《문제 풀이》 1. 길의 정보를 나타내는 배열 road[101][101] 선언 2. 물이 잠긴 지역은 -1로 두어 경로의 개수를 세지 못하도록 방지 3. 누적 합을 위해 집의 위쪽 좌표 또는 왼쪽 좌표를 1로 두기 (본인은 왼쪽 좌표를 1로 두었음) 4. 해당 좌표가 -1 인 경우에는 0으로..

백준 2583번 영역 구하기

문제 보러가기 : https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 이번 문제는 그래프 탐색 문제였습니다. (본인은 DFS 알고리즘으로 풀었습니다.) 💡 My Case 💡 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 모눈종이를 뒤집어도 영역의 넓이는 그대로이므로 왼쪽 아래 꼭짓점의 좌표와 오른쪽 위 꼭짓점의 좌표로 값을 채워넣어도 되지만, 본인은 문제에 그려진 위치에 직사각형을 그렸습니다. 《문제 풀이》 1. 모눈..

알고리즘/BOJ 2021.04.14

백준 2293번 동전 1

문제 보러가기 : https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 이번 문제는 다이나믹 프로그래밍 문제였습니다. 《문제 풀이》 1. n가지 동전의 가치를 coinValue 배열로 입력받음 2. 가치의 합이 k원이 되는 경우의 수를 구하기 위한 dp 배열을 모두 0으로 초기화 3. dp[0]은 자신의 가치만으로 j원이 되는 경우의 수이므로 1로 세팅 4. 가치의 합이 j원이 되는 경우의 수와 자신의 가치를 뺀 가치의 경우의 수를 합함 ⭐️ 5. n..

알고리즘/BOJ 2021.03.18

백준 1120번 문자열

문제 보러가기 : https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net 이번 문제는 문자열 문제였습니다. A와 B의 길이를 같게 할 때 A와 B 길이의 차이만큼 A의 앞 또는 뒤에 B와 같은 문자를 추가해주면 되므로 이 부분은 구현할 필요없이 입력받은 A와 B의 차이를 구하면 됩니다. 😺 《문제 풀이》 1. B의 인덱스를 증가시켜 가면서 A의 길이만큼 A와 B의 차이를 계산 2. A와 B 문자열의 문자가 다르면..

알고리즘/BOJ 2021.03.07

[asyn vs defer] HTML에서 JavaScript 파일 포함하기

🤷🏻‍♀️ JavaScript 파일을 어떻게 포함하는 것이 더 효율적일까? HTML 문서의 head 안에서 js 파일을 포함시킬 때 asyn 또는 defer 키워드와 함께 작성할 수 있습니다. asyn와 defer 각 의미와 이 둘의 차이점을 알아보고, 어느 것을 사용하는 것이 더 효율적일지 알아 봅시다. 💡 asyn 브라우저가 HTML 문서를 파싱(parsing: 한 줄씩 분석하는 것)하다가 asyn 키워드를 만나면 자바스크립트 파일을 다운로드(fetch)하도록 명령합니다. 그리고 HTML 문서를 이어서 파싱하다가 자바스크립트 파일이 다운로드되면 HTML 문서 파싱을 멈추고 자바스크립트 파일을 실행한 뒤, 다시 HTML 문서를 파싱합니다. asyn 키워드는 HTML 문서의 파싱이 완료되기 전에 자바스크..

JavaScript 2021.03.05

relative vs absolute 개념 비교

오늘은 CSS position 속성 값에 대해 알아봅시다. 🌻 position이란? CSS position 속성은 문서 상에 요소를 배치하는 방법을 지정합니다. position 속성을 사용하여 위치를 지정할 때에는 어느 곳에서부터 얼만큼 떨어지게 할 것인지를 지정해줘야 하므로 top, right, bottom, left 속성과 함께 작성해 줍니다. position의 기본값은 static이고 그 외의 값으로는 relative, absolute, fixed, sticky가 있습니다. 📍 position 값 1. static position 속성의 기본값이며 요소를 일반적인 문서 흐름에 따라 배치합니다.top, right, bottom, left, z-index 속성이 아무런 영향도 주지 않습니다. 2. re..

CSS 2021.03.03

백준 12852번 1로 만들기 2

문제 보러가기 : https://www.acmicpc.net/problem/12852 12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net 이번 문제는 다이나믹 프로그래밍(DP) 문제였습니다. 1463번 1로 만들기 문제와 다른 점은 n을 1로 만드는 방법에 포함되어 있는 수들을 역추적하여 출력하면 됩니다. 😛 《문제 풀이》 1 ~ n 의 각 숫자를 1로 만들기 위해 연산을 하는 횟수의 최솟값을 dp 배열에 저장하려고 함 1. 숫자 1의 연산 횟수의 최솟값은 0 이므로 dp[1] = 0 2. 1의 이전 경로는 존재하지 않으므로 before[1] = -1 (경로 추적을 위한 배열 before) 3. 정수 n에 사용할 수 있..

알고리즘/BOJ 2021.03.01

백준 2263번 트리의 순회

문제 보러가기 : https://www.acmicpc.net/problem/2263 2263번: 트리의 순회 첫째 줄에 n(1≤n≤100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. www.acmicpc.net 이번 문제는 재귀 알고리즘 문제였습니다. 중위 순회(In-Order) : 루트 노드 전까지 왼쪽 부분 트리이고 루트 노드가 나온 이후부터는 오른쪽 부분 트리 후위 순회(Post-Order) : 가장 마지막 노드가 루트 노드 각 순회마다 정점을 순회하는 순서는 다음과 같습니다. ✨ 전위 순회 : root -> left -> right ✨ 중위 순회 : left -> root -> right ✨ 후위 순회 : lef..

알고리즘/BOJ 2021.02.25

백준 11404번 플로이드

문제 보러가기 : https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 이번 문제는 플로이드-워샬(Floyd-Warshall) 문제였습니다. 플로이드-워샬 알고리즘은 모든 정점 간의 최단 경로를 구하는 알고리즘입니다. 😊 《문제 풀이》 1. i == j 이면 0, 아니라면 무한대로 초기화 2. 버스의 정보 입력 (시작 도시 a, 도착 도시 b, 한 번 타는데 필요한 비용 c) 3. 플로이드 워샬 알고리즘 --> 정점을 거쳐가는 것이 더 빠르다면 gr..

알고리즘/BOJ 2021.02.21

백준 11779번 최소비용 구하기 2

문제 보러가기 : https://www.acmicpc.net/problem/11779 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net 이번 문제는 다익스트라(Dijkstra) 문제였습니다. 최단 경로뿐만 아니라 최단 경로에 포함된 정점들까지 출력해야 하는 문제였습니다. 《문제 풀이》 1. 입력한 출발 도시에서 도착 도시까지의 경로는 단방향이므로 단방향 연결 2. 다익스트라 (최단 경로 구하기) (1) 출발 도시를 큐에 삽입 (2) 출발 도시를 제외한 모든 도시의 거리는 INF (..

알고리즘/BOJ 2021.02.17
반응형