프로그래밍 언어


요즘 너무나 알찬 시간을 보내고 있는데, 이것저것 다 공부하고 싶은 욕심에 정리하는 시간이 줄어든 것 같다 🥲 BUT 언제나 목적이 수단과 전치되어서는 안된다. 형식적으로 보여주기 위한 정리는 정리의 본질인 "학습과 공유"를 흐린다. 퀄리티가 떨어져 좋은 글을 공유하지 못하고, 정리하며 복습되는 효과도 떨어지기 때문이다. 따라서, "꼭 잊지 말아야 할 내용"이거나 몇 번 반복되어 내 부족한 개념으로 주목되었을 때 내재화를 위해 정리하자.해당 관점에서 문자열 비교와 sort는 ... 우선순위 토픽에 해당한다 ㅎ.자바스크립트의 문자열 비교자바스크립트의 String을 비교하면 어떤 일이 벌어질까? 먼저 문자열 안에도 다양한 형태가 포함될 수 있다. 알파벳, 특수기호, 숫자 등. (1) 알파벳 vs 알파벳사..


유의사항 및 자주한 실수 - 오답노트✅ 구조분해할당을 활용하여 변수를 다룰 때변수를 한꺼번에 선언하거나 스왑핑할 수 있다. 반드시 ‘대괄호[]’로 묶어서 활용해야 한다.let [a,b] = [1,2]; // a=1, b=2[a,b] = [b,a]; // a=2, b=1✅ 반복문의 비교: forEach와 달리 map은 새로운 배열을 반환한다forEach와 map은 반환값이 다르다. forEach와 map은 둘다 원본을 변경하지 않는다는 점에서는 공통적이다. 그러나 map은 콜백 함수의 반환값을 모은 새로운 배열을 반환한다. 반면 forEach의 반환값은 항상 undefined다.map의 콜백은 (처리할 현재 요소currentValue , 인덱스index, map호출한 배열array)을 인수로 받을 수 있다..


레벨: 1출처: 2019 카카오 개발자 겨울 인턴십링크: https://school.programmers.co.kr/learn/courses/30/lessons/64061정답까지 내 소요시간: 25분 소요. 바보. 🎮 나의 풀이친절한 문제라고 생각했다. gif로 인형이 직접 터지는 것을 보여주다니 ,,, 쏘큣하지 않은가.이 문제의 핵심은 인형의 처음 상태를 '열column'기준으로 적절하게 저장하고 바구니에 정확하게 옮기는 것이라 생각했다. 1️⃣ 인형의 처음 상태를 저장하기문제를 읽으며 가장 먼저 떠오른 것은 왼쪽 인형들에서 pop()메서드를 사용하여 꺼내고, 반환값을 바로 바구니 변수에 대입하는 방식이었다. 그렇게 하려면 가장 윗부분의 인형이 최신값으로 있어야 하기 때문에 board를 아래에서부터..


레벨: 2출처: 2018 KAKAO Blind Recruitment링크:https://school.programmers.co.kr/learn/courses/30/lessons/17680 정답까지 내 소요시간: 1시간 소요. 캐싱 알고리즘을 잘못 이해했다. 아쉽다... 🎮 나의 풀이이번 문제는 캐시 교체 알고리즘 LRU만 알고 있다면, 해당 알고리즘을 그대로 구현하면 되는 것이었다.LRU를 몰랐지만, 시간 안에 찾아서 공부하고 바로 풀 수 있는지 스스로 시험해보고 싶어서 바로 풀어봤다. 반례를 찾다가 시간을 버렸지만 검토해보니 결국 알고리즘을 잘못 이해한 게 원인이었다.제대로 이해해서 고치니 바로 정답이었다. 반성하는 마음에서 ... LRU에 대해 알게 된 내용을 정리한다 🥲1️⃣ 캐시와 LRU에 대..


이전에 정리해놨던 내용인데, 모던 자스 딥다이브 책을 읽다가 마주치니 갑자기 또 헷갈린다... 복습 차원에서 공유..역시 한 번에 내용들을 흡수한다는 허상을 버리고 한계를 인정해야겠다. 그래야 좋은 학습태도도 가질 수 있을 듯하다.setTimeout과 setInterval🍊 계기제로초 자스 강의와 두더지 게임 프로젝트에서 setTimeout을 많이 활용하였다. 그런데 미묘한 시간 차이도 있고, 납득할 수 없는 모습으로 동작할 때도 있어서 답답했다. 제대로 알지도 못하고 쓰는 것 같아서 정리하였다. 🍊 노트내가 원하는 시간에 맞춰서, 특정 시간이 지난 시점에 함수 실행을 ‘예약’할 수 있는 것을 ***‘호출 스케줄링’***이라고 한다. 여기서 ‘예약’을 해둔다는 것을 기억해야 이해하기가 쉽다.두 가지 ..


레벨: 2출처: 2022 KAKAO Blind Recruitment링크: https://school.programmers.co.kr/learn/courses/30/lessons/92335정답까지 내 소요시간: 37분. 아쉽다 ㅠ 첫 제출까지는 25분이었지만, 정확도 89점이었음. 🎮 나의 풀이이번 문제의 핵심 구현 사항은 간단했다.(1) 주어진 k진수로 n을 변형하는 것(2) 변형된 n에서 요구 조건을 만족하는 소수를 카운트하는 것1️⃣ 주어진 k진수로 n을 변형하는 것놀라운 일이 있다. 이 글을 작성하면서 굳이 내가 했던 방식대로 k진수 변형을 하지 않았어도 됐다는 게 떠올랐다 😂ㅎ 그치만 좋은 연습이었다! 진수 변환의 원리를 떠올렸을 때, 계속 k로 나눗셈을 하며 나온 나머지를 붙이는 과정이었기 ..


레벨: 1출처: 2021 카카오 채용연계형 인턴십링크: https://school.programmers.co.kr/learn/courses/30/lessons/81301 정답까지 내 소요시간: 43분.. 첫 제출까지는 37분이었으나 정확도 70점이었음. 🎮 나의 풀이이번 문제 풀이는 핵심 사항들을 사전에 정리하지 않고 풀었기 때문에,실수를 곱씹으며 성찰하는 의미로 시간을 기준으로 한 풀이 과정을 정리하겠다. 1️⃣ 주어진 테스트 케이스를 다 통과하지 못했던 첫 번째 풀이처음에는 영단어를 숫자로 바꾸는 부분만 구현하면 매우 쉬운 문제라고 생각했다. 변환 방법만 구상하고 이외의 어떠한 조건도 고려하지 않았다. 일단 각 영단어가 어떤 숫자의 해당되는지 정리해줘야 하기 때문에 Map을 통해 아래와 같이 저장하..


교생을 끝내고... 드디어 일상으로 복귀했다. 교생+과외 생활은 정말 눙물이었는데... 오자마자 기말이라는 게 더 눙물 🥲 그치만 정리와 공유는 꾸준히! 비동기에 대하여🍊 계기제로초 자스 강의에서 async / await가 나왔었는데 모르는 부분을 찾아보며 꼬리에 꼬리를 물다가 결국 비동기 프로그래밍의 개념까지 와버렸다. 특히, 사촌동생을 위한 두더지 게임 제작 중에도 비동기적으로 요청을 보내는 로직을 짜다가 의문인 부분이 많았다. 🍊 노트비동기의 개념, 콜백, ... 프로미스 ... async, await 등 파고 파다가 계속 무한 꼬리를 물게 되었는데. 일단 공유하는 내용은 쪼개서 정리하고자 한다!자바스크립트 엔진의 작동 방식 자바스크립트 엔진은 기본적으로 ‘싱글 스레드’ 방식으로 작동한다. ..