분류 전체보기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 틀린 풀이 처음 생각은 아 모든 numbers를 조합해서 배열로 만든 뒤 Math.max()로 가장 큰 수를 찾아야 겠다. 했는데 numbers의 길이가 100,000이라고 한다면 경우의 수는 100,000! 이고 1억 아니 1경 아니 1해 아니 1000해도 가뿐이 넘기는 숫자라서 계산이 불가능하다. 하지만 dfs도 복습할겸 해서 테스트 케이스만 통과하는 코드를 만들어 보았다. 그러나 생각보다 코드가 바로 생각나지 않았다. (복습이 필요할 것 같다) dfs를 돌리면 result 배열은 1번 예제에서..
sort를 공부하기전에 - 배열 고차 함수 고차 함수는 함수를 인수로 전달받거나 함수를 반환하는 함수를 말한다. 자바스크립트의 함수는 일급 객체이므로 함수를 값처럼 인수로 전달할 수 있으며 반환할 수도 있다. 고차 함수는 외부 상태의 변경이나 가변데이터를 피하고 불변성을 지향하는 함수형 프로그래밍에 기반을 두고 있다. 함수형 프로그래밍은 순수 함수와 보조 함수의 조합을 통해 로직 내에 존재하는 조건문과 반복문을 제거하여 복잡성을 해결하고 변수의 사용을 억제하여 상태 변경을 피하려는 프로그래밍 패러다임이다. 조건문이나 반복문은 로직의 흐름을 이해하기 어렵게 하여 가독성을 해치고, 변수는 누군가에 의해 언제든지 변경될 수 있어 오류 발생의 근본적 원인이 될 수 있기 때문이다. 함수형 프로그래밍은 결국 순수 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 어떻게 풀어야 할까 고민을 많이 했다. 엄청어렵기보단 문자열을 어떻게 잘 다루는지 알아보는 문제 같았다. 해야할 것 1. 어떤 장르가 가장 재생이 많이 되었는지 알아야한다. 2. 해당 장르에서 많이 들은 순으로 노래를 정렬해야한다. 3. 장르당 최대 2곡까지만 저장하고 나머지는 버린다. 4. 해당 장르 노래의 고유 번호를 retrun 해야한다. 1. 속한 노래가 많이 재생된 장르를 내림차순으로 배열안에 정렬하기 // 1. 속한 노래가 많이 재생된 장르를 내림차순으로 배열안에 정렬 const rank..
· CS/CS50
📚 시리즈 목차 1. 컴퓨팅 사고 2. C언어 3. 배열 4. 알고리즘 5. 메모리 6. 자료구조 2. C언어 1) C 기초 C언어는 데니스 매캘리스터 리치라는 사람이 1972년에 만든 언어이다. (UNIX 운영체제도 만드신 대단한분) C언어로 코드를 짜면 속도가 빠르고 바이너리 크기도 작아 다른 무엇보다 중요한 임베디드 혹은 모바일 계열, 또는 시스템 프로그래밍 등에서 주로 쓰인다. 과거에는 메모리 가격이 비쌌던 만큼 메모리를 적게 잡아먹는 프로그래밍 기법을 선호했으며, 화성 탐사선도 이러한 점을 반영하여 C언어로 만든 프로그램을 사용했다. 이렇게 C는 아주 오래되고 전통적인 순수 텍스트 기반의 언어이다. 자 그럼 어떤 언어이든 "hello, world" 출력하는 것으로 시작하는데 C언어는 어떻게 하는..
overview (react 에서는 2020년 12월에 React Server Components가 소개되었습니다. ) (즉, RSC은 react 팀이 설계한 새로운 애플리케이션 아키텍처이고 이것을 next.js 에서도 사용할 수있도록 업데이트 한것입니다.) 이 모든것은 필자가 Next.js 13 버전으로 새롭게 프로젝트를 시작하는데 라우팅 방식을 조금 더 향상시킬 수 있는 `app/` 이라는 디렉토리를 사용하다가 아래와 같은 에러를 만나면서 시작되었습니다. 이 에러를 해결하는 법은 정말 간단하지만 "왜? 그렇게 해야할까?"에 대해 정리가 필요하다 느꼈고 그러던 와중 `서버 컴포넌트`에 대해 자세히 몰라서 정리하게 되었습니다. 1. What are Server Components 서버 컴포넌트는 애플리케..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 문제가 길어서 어려운 문제인가 싶었는데 다 읽고나니 괜히 겁먹었던 것 같다. 결론적으로 파일을 삭제하기 위해 드래그를 해야하는데 최소 사각형으로 드래그했을 때의 좌표값을 구하면 된다. 모든 #의 좌표를 구해서 최적의 lux,rdx luy,rdy를 구해도된다. 굳이 모든 좌표를 구해야 하나 싶어서 조금 더 생각해보았다. 상하좌우 각 끝점을 구하면 조금 더 쉽게 풀수 있을 것 같았다. 예를 들면 아래와 같다. 1. 맨 왼쪽에있는 파란색 파일의 luy = 3 2. 맨 위쪽에있는 하늘색 파일의 lux = ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 처음에는 targets을 반목문을 돌리면서 각 keymap를 돌아다니며 해당 알파벳에대해 최소로 누를 수 있는 횟수를 구할려고 했으나 시간이 오래걸릴 것 같아서 다른방법을 고민해보았다. 문자열을 작성하고자 할때 A는 최소 n번 B는 최소 m번 등 이런식으로 keymap에서 각 최소 횟수를 파악해서 객체안에 알파벳별로 넣으면 될 것 같았다. 1. keymap을 반복문을 사용해서 알파벳 별로 최소누를 수 있는 횟수를 저장한다. 2. targets에 있는 문자열을 for문을 통해서 해당 알파벳이 keym..
나의 풀이 각 트럭마다 위치를 지정해줘서 1초가 지날때마다 위치를 한칸씩 움직여줘서 다리 길이랑 위치가 같을때 도착을 카운트하면 되겠다 싶었다. function solution(bridge_length, weight, truck_weights) { const trucksCrossingBridge = [] let currentBridgeWeight = 0 let second = 0 while(true) { // 현재 다리의 무게가 0이고 대기중인 트럭이 없을 때 '초' return if(!currentBridgeWeight && !truck_weights.length) return second // 다리를 지나가고있는 트럭이 있을 때 if(trucksCrossingBridge.length) { // 트럭 ..
나의 풀이 queue로 풀지만 index가 필요하기에 배열을 이중배열로 만들어서 풀어야겠다 싶었다. 위 예제로 보자면 priorities = [ [2,0] , [1, 1], [3, 2], [2, 3] ] 이런식으로 [[priority, index], ....] 이렇게 구성이 된다. 이것을 기준으로 더 높은 우선순위가 없다면 queue에 들어간다 즉 처리된다는 뜻이다. 그런데 이때 index === location 이면 바로 결과값을 return 한다. 더 높은 우선순위가 있다면 다시 priorities 배열에 넣어준다. function solution(priorities, location) { const queue = [] priorities = priorities.map((priority, index)..
개발자성장기
'분류 전체보기' 카테고리의 글 목록 (10 Page)