전체 글 100

[자료구조] Array 와 LinkedList

1) 배열(Array) 특성 👀 자바스크립트에서 배열은 도대체 어떤 거지? 😊장점 😫단점 배열을 주로 사용하는 경우 배열의 시간복잡도 2) 연결 리스트(Linked List) 특성 😊장점 😫단점 연결리스트 종류 단일 연결 리스트(Singly Linked Linear List) 이중 연결 리스트 (Doubly Linked Linear List) 원형 연결 리스트 (Circularly Linked Linear List) 시간 복잡도(Time complexity) 3) Array vs Linked List 비교 참고자료 1) 배열(Array) 특성 연속된 메모리 공간에 순차적으로 저장된 데이터 모음 실제 메모리 상에서 물리적으로 데이터가 순차적으로 저장되기 때문에 데이터에 순서가 있으며, index가 존재하여..

[프로그래머스/JavaScript] [1차] 캐시

https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 2018 KAKAO BLIND RECRUITMENT 라고 해서 쫄았는데, 생각보다 간단했던 문제! 이 문제를 풀기 위해서 캐시 교체 알고리즘인 LRU(Least Recently Used)에 대해서 알아야 한다! 내가 참고한 블로그에 대해서는 링크를 걸어놨으니 그 내용은 따로 담지 않겠다 cacheSize만큼 담을 수 있는 캐시(cache)라는 배열을 만들어놓고, 그 배열을 확인한 뒤 현..

[프로그래머스/JavaScript] 점프와 순간 이동

https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 이 문제도 며칠간을 끙끙대다가 겨우 풀었는데 생각해보면 좀 어이없다.. 일단 나는 우선 이 문제를 자료형 Map 을 이용해서 key에 현재 있는 칸, value에 건전지 사용량을 저장했었다 Map 을 하나 만들어서 재귀함수를 이용해서 값을 넣어주고 그다음 값은 재귀로 또 보고 또 보고.. 이런 식으로 진행했으나 자바스크립트는 재귀의 깊이가 한정되어 있기 때문에 오류가 떴다 그래서 재귀함..

[프로그래머스/JavaScript] 카펫

https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 처음에는 어떻게 풀어야 할지 감이 안 오다가, 완전탐색 문제는 어차피 하나하나 확인하는 수밖에 없다고 생각하고 풀었더니 맞히게 되었다 우선 노란색 격자들이 안쪽에 배치되고, 이후에 그 둘레를 갈색 격자들이 감싸고 있는 형태이기 때문에 노란색 타일이 어떻게 배치되느냐에 따라 카펫의 가로, 세로 길이가 결정되므로 난 먼저 노란색 타일을 깔아본다고 생각했다. 하지만 여기서, 가로의 길이가 세..

[프로그래머스/JavaScript] H-Index

https://school.programmers.co.kr/learn/courses/30/lessons/42747?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 사실 별 거 없는 문제인데 문제의 예시가 citations 배열 내의 값이어서 한 가지 착각을 했다 문제의 답은, 즉 h-index는 ciations 배열 안에 없을 수도 있다는 것! 이것만 생각하면 그냥 0부터 citations 의 길이만큼 돌면서 h-index를 갱신해나가면 된다 간만에 level 2 치고 좀 간단했던 문제! 2) 최종 소스코드 f..

[프로그래머스/JavaScript] 구명보트

https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 이 문제는.. 진짜 며칠간 풀었었다 사실 풀고 나니까 와.. 진짜 별 거 아니었구나 싶은데 왜 그렇게 안 풀렸는지😂 처음에는 단순하게 그냥 구명보트 개수 변수 count, 현재 사람과 구명보트를 탈 수 있는 최대 무게 find, 그리고 현재 요소 cur을 변수로 두고 문제를 풀었다 그리고 효율성을 위해 내림차순으로 sort 시켰는데, 내림차순으로 한 이유는 그냥 제일 작은 요소부터 꺼내..

[프로그래머스/JavaScript] 다음 큰 숫자

https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 레벨2에 들어와서 유독 진법변환 문제를 많이 푸는 듯~ 덕분에 진법 변환하는 건 완전히 익혔다 이 문제는 내가 이제까지 익힌 것들을 모두 총정리하는 느낌이었다 1. toString(2) 으로 이진법으로 표현할 수 있음 2. 문자열을 spread 문법으로 펼치면 배열 만들 수 있음 3. filter()는 배열 각 요소에 대하여 주어진 함수의 결과값이 true인 모든 요소 모아서 새 배열 ..

[프로그래머스/JavaScript] 이진 변환 반복하기

https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 저번에 자바스크립트에서 진법 변환하는 방법을 올렸었는데, 그거에 대한 응용 ver 라고 생각이 드다 이 문제에서는 이진변환을 하는데, 이진 변환에는 총 두 단계가 있다 x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 이 두 단계를 마치면 이진변환 한 번이 완료되는 것이다 1번의 경우에는 split을 이용했다. split 함수 안..

[프로그래머스/JavaScript] 피보나치 수

https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 문제 자체는 어렵지 않은데, 자꾸 오답이 나와서 프로그래머스 질문하기 를 이용했던 문제이다 피보나치 하면 재귀함수로 구현하는 것이 제일 먼저 생각나서, 나도 처음에는 재귀함수로 풀었었는데 시간초과와 런타임에러가 나서 for문을 이용하여 각각의 값을 계산해 배열에 넣어주는 방식으로 바꿨다 코드 실행하기를 누르면 전부 정답이고, 제출했을 때도 6번까지는 맞는데 왜 7번부터 오답이 나는지 이..

[프로그래머스/JavaScript] 3진법 뒤집기

https://school.programmers.co.kr/learn/courses/30/lessons/68935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 사실은 예전에 자바스크립트로 푼 문제인데 새로 풀어보니 또 다른 방식으로 풀게 되었다 자바스크립트에서 진법 변환하는 건 그렇게 어렵지 않은데 막상 써먹으려고 하면 잘 기억이 안 나서 😥 어쩔 수 없이 숫자 하나하나 진법 변환을 해주었지만 나름대로 의미가 있는 것 같아 풀이를 써보겠다 단순하게 인자로 받은 값을 우선 3진수로 바꿔주었다 3으로 나눈 나머지를 tmp 라는 배열에 저장한 후,..

728x90