일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 비트마스크
- 우박수열정적분
- 두원사이의정수쌍
- 최소스패닝트리
- [pccp 기출문제]
- JS
- 5강클로저
- DP
- JS스터디
- 지도 여러개
- pccp기출문제
- 2023카카오블라인드코테
- 알고리즘 문제풀이
- solved.ac골드
- 프로그래머스
- 백준알고리즘
- 백준 알고리즘
- 정렬
- 이중지도
- 과제진행하기
- solved.ac플래티넘
- 코어자바스크립트
- Lv2
- c++
- div2개
- React.StrictMode
- 알고리즘문제풀이
- 스택
- 타겟넘버
- Lv3
- Today
- Total
목록분류 전체보기 (108)
호지
처음엔 BFS로 접근했다가 시간초과를 당했다...! 이 문제를 풀 때 중요한 것은 사전순으로 빠른 경로를 출력한다는 것이다. 따라서 d > l > r > u 순으로 움직일 수 있는 만큼 먼저 움직여야 한다. 우선 미로에는 별다른 장애물이 없기 때문에 시작점과 끝점의 거리는 abs( x - r ) + abs( y - c)로 구할 수 있다. 이 거리가 두점사이의 최단경로의 거리이므로, 만약 이 값이 k보다 크다면 k만큼 이동해도 끝점에 도달하지 못하므로 impossible이다. 또한 k에서 최단 경로의 거리를 뺐을 때 이 값이 홀수라면, 끝점에 도달하지 못하므로 impossible이다. (예를 들어, 최단경로만큼 이동해서 끝점에 도달하고 왔다갔다 하면서 횟수만 채운다고 생각했을 때, 왔다갔다하는 횟수는 짝수..
JS스터디로 코어 자바스크립트를 공부했다. 개인적으로 실행 컨텍스트 내용은 모던자바스크립트 딥다이브 내용이 이해가 더 잘 되서 딥다이브 내용을 많이 참고했다. 1. 실행컨텍스트란? 실행할 코드에 제공할 환경 변수들을 모아놓은 객체로 자바 스크립트 동작 원리에 대한 핵심 개념입니다. 실행컨텍스트에서 실행순서는 실행컨텍스트 스택인 콜스택으로 관리하고, LexicalEnvironment를 통해 식별자와 스코프를 관리합니다. 2. 콜스택이란? 콜스택은 실행순서를 관리하며, 선입후출인 스택의 자료형을 갖고 있습니다. 가장 최상단에 위치한 실행 컨텍스트는 현재 실행 중인 실행 컨텍스트를 의미합니다. 3. LexicalEnvironment란? 실행컨텍스트에서 식별자와 스코프를 관리하는 하며 VariableEnviro..
코어자바스크립트 책으로 스터디를 진행했다. 1강 내용으로 자료를 준비해서 약 1시간 정도의 강의를 했다. 책을 읽었을때보다 발표를 준비하면서 더 내용을 잘 이해할 수 있어서 유익한 시간이었다. 1강 데이터 타입 정리 1. 자바스크립트 데이터 타입은 어떤 것이 있나요? - 자바스크립트에서는 기본형 타입과 참조형 타입의 2가지 데이터 타입이 있습니다. 기본형 데이터 타입은 불변값을 가지고 있으며 null, undefined, number, string,boolean 과 ES6에서 추가된 BigInt와 Symbol이 있습니다. 참조형 데이터 타입은 object, 객체를 의미하며 Date, Map, Set, 정규표현식 등이 있습니다. 기본형 타입은 값을 직접 저장하고, 복사할 때 값이 복사됩니다. 반면 참조형 ..
문제를 읽고 풀이과정에 대해 고민했습니다. 1단계 근무태도 점수(a)와 동료 평가 점수(b)를 보고 인센티브를 받지 못하는 경우를 거른다. 2단계 근무태도 점수(a)와 동료 평가 점수(b)의 합을 보고 등수를 나눈다. 1단계와 2단계의 과정을 거치면 원하는 답을 구할 수 있을 것이라 생각했고, 정렬된 데이터가 필요할 것이라고 생각했습니다. 1단계에서는 a기준으로 정렬하고, b기준으로 정렬을 2번하는 방법을 생각했으나, 2번의 정렬과정을 불필요해보였습니다. 그래서 a기준으로 내림차순 정렬을 하고 a값이 동일할 때는 b기준으로 오름차순 정렬을 했습니다. 정렬된 리스트에서 처음 값을 기준으로 삼고, 다음 원소가 a값과 b값 모두 작은 경우라면 해당 원소를 [-1, -1]로 초기화 했습니다. (인센티브를 받지 ..
펄스 수열은 두 종류가 있다 [-1, 1, -1...] , [1, -1, 1...] sequence가 주어지면 -1로 시작하는 펄스 수열과 곱해진 s1배열, 1로 시작하는 펄스 수열과 곱해진 s2배열 두가지로 나누어 생각했다. 가장 쉽게 생각할 수 있는 풀이방법은 DFS로 모든 경우의 수를 탐색하는 방법이었다. (하지만 이 방법은 시간 초과이다.) 다음으로 생각해본 방법은 DP이다. 모든 경우의 수를 탐색하면 이미 더했던 부분수열을 다시 더하고 하는 중복과정이 계속 발생한다. 또한 부분수열은 연속해서 이어지는 일렬의 과정이므로 for문 한번으로 해결할 수 있을 것 같았다. 과정은 s1과 s2를 나누어서 계산을 했다. cnt1과 cnt2는 dp배열로, i번째 위치의 의미는 해당 위치에서 나올 수 있는 부분..
BFS를 이용한 문제풀이입니다. 주어진 board에서 robot의 위치를 먼저 구합니다. 로봇은 상하좌우 방향으로 움직일 수 있고, 한 방향으로 움직이다가 장애물 D를 만나거나 board에 끝에 도달할때까지 움직입니다. 로봇이 움직일 수 있는 위치는 list큐에 넣습니다. 움직일 수 있는 위치 여부는 상하좌우(moves배열) 방향을 다 확인하고 한번 방문한 위치는 board를 C로 표기하여 중복 방문을 막습니다. list 큐가 empty면 G에 도달하지 못한 것이므로 -1을 반환하고, 중간에 G에 도달하면 해당위치의 count를 반환합니다. #include #include #include using namespace std; int solution(vector board) { int answer = -1..
HTML(Hyper Text Makrup Langauge)는 오류가 있으면 오류를 알려주지 않고 웹페이지가 임의로 결과를 보여줍니다. 따라서 오류를 방지하거나 유효한 태그를 맞게 썼는지 확인하기 위해 사용하면 유용한 페이지가 있습니다. https://validator.w3.org/ The W3C Markup Validation Service Validate by File Upload Note: file upload may not work with Internet Explorer on some versions of Windows XP Service Pack 2, see our information page on the W3C QA Website. validator.w3.org 해당페이지에서는 마크업 검사가..