본문 바로가기

전체 글67

[프로그래머스] 택배 배달과 수거하기 JS 문제 링크 간단해 보이는데 엄청 오래 걸렸습니다..!! 우선 최소로 움직이기 위해서는 최대한 먼 곳부터 많이 배달하고, 먼 곳부터 많이 수거해야 합니다 가장 멀리에 있는 배달,수거 장소에서부터 배달과 수거를 cap만큼 진행합니다 배달과 수거를 모두 cap만큼 진행하는 것은 갈 때 cap만큼 배달하고, 올 때 cap만큼 수거하면 되기 때문입니다 deliveries 배열과 pickups 배열이 존재하는 동안 배달, 수거 2개의 함수를 만들어서 먼 곳부터 배달과 수거를 반복했습니다 둘 중 시작점이 더 먼 곳의 왕복 거리를 result에 추가해줬습니다 function solution(cap, n, deliveries, pickups) { // 가장 먼 거리를 최소로 왔다갔다 해야 함 // 최대한 먼 곳부터 많이.. 2024. 1. 10.
데이터베이스 스터디 1주차 파일시스템 vs 데이터베이스 파일시스템 파일 시스템은 데이터를 파일 단위로 파일 서버에 저장합니다. 각 응용 프로그램이 독립적으로 파일을 다루기 때문에 데이터가 중복 저장될 가능성이 있습니다. 위의 사진과 같이 고객 관리 부서와 주문 관리 부서가 있을 경우, 각 부서의 업무가 다르기 때문에 다른 응용 프로그램을 운영하게 될 것입니다. 응용 프로그램들은 데이터를 공유하지 않기 때문에 중복되는 데이터들이 발생하게 됩니다. 데이터들이 중복되면 이중으로 데이터 관리를 해야 하기 때문에 데이터들의 일관성을 유지하기 힘듭니다. 예를 들어 고객 데이터 파일에서 고객의 연락처가 변경되었을 때, 실수로 주문 데이터 파일에 있는 연락처 변경이 누락되었다면 데이터의 일관성이 깨지게 됩니다. 데이터베이스 데이터베이스는 데이터.. 2024. 1. 10.
[다익스트라][백준] 117799 최소비용 구하기2 JS 문제링크 한 노드에서 다른 노드까지의 최소 비용을 구하는 것이기 때문에 다익스트라! 다익스트라 : 한 정점에서 다른 모든 정점까지의 최소 비용을 구하는 알고리즘 다익스트라는 우선순위큐를 사용하는데 JS에는 우선순위큐 라이브러리가 없기 때문에 직접 구현 접근 방법 1. 버스 정보 인접리스트, 각 노드까지의 최소 비용을 저장할 배열(minArr), 이전에 방문한 노드를 저장할 배열(pre)을 만든다. 2. 우선순위 큐에 시작 노드를 넣어준다 3. 큐가 빌 때까지 노드를 꺼내서 minArr와 pre배열을 업데이트 한다 3번에서 배열들을 업데이트 할 때 1. minArr에 있는 값이 우선순위 큐에서 꺼낸 값보다 작을 경우, 꺼낸 값은 최소 비용이 아님으로 continue; 2. minArr에 있는 값보다 우선순.. 2024. 1. 10.
[프로그래머스] 시소 짝꿍 JS 문제링크 풀이 방법 쌍의 개수를 구하는 것이었기에 조합을 떠올렸습니다 두 수의 2,3,4배수 값 중 하나라도 같으면 됩니다 나올 수 있는 비율은 2:3, 2:4, 3:2, 3:4, 4:2, 4:3 쌍이기 때문에 모든 비율에 대한 수를 찾지 않고 특정수를 기준으로 큰 수만 구하기로 했습니다 function solution(weights) { //쌍을 구하라 = 조합 //두 수의 2,3,4배수 값이 하나라도 같으면 됨 //나올 수 있는 비율은 2:3, 2:4, 3:2, 3:4, 4:2, 4:3이지만 //쌍이기 때문에 하나의 수를 기준으로 큰 수만 구하기 let cnt=0; const table = {}; weights.forEach(w=>{ table[w]=(table[w]||0)+1; }); for(let.. 2024. 1. 9.
CSS 자식 요소가 focus 될 때 부모 요소 효과 주기 보통 인풋의 경우에는 하나의 컨테이너가 인풋태그와 초기화 버튼 등을 담고 있고 조건에 맞지 않는 입력값이 들어왔을 때 부모 컨테이너의 border 색상에 변화를 줘야 하는 경우가 많습니다 이럴 때 간단하게 쓸 수 있는 방법은 :focust-within 사용하기! MDN에 정말 간단하게 사용법이 나와있습니다 https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within :focus-within CSS:focus-within 의사 클래스는 포커스를 받았거나, 포커스를 받은 요소를 포함하는 요소를 나타냅니다. 즉 스스로 :focus 의사 클래스와 일치하거나, 그 자손 중 하나가 :focus와 일치하는 요소를 나타냅니다. Which flavor would you.. 2024. 1. 8.
React Native와 React 컴포넌트 차이 기본적으로 React Native는 React와 비슷하지만 라우팅과 컴포넌트에서 차이가 있습니다 여기서는 컴포넌트 차이에 대해 알아보려고 합니다. React에서는 기본적으로 컴포넌트를 만들 때 시맨틱 태그를 이용하는 반면 React Native에서는 제공되는 컴포넌트들을 사용해야 합니다 아래는 기본적으로 자주 사용하는 컴포넌트들입니다 div = View div와 다르게 View에는 텍스트가 들어갈 수 없습니다 input(type="text") = TextInput button = Button or TouchableOpacity TouchableOpacity가 스타일링이 용이하기 때문에 보통 TouchableOpacity를 사용합니다 span = Text 모든 텍스트들은 Text 컴포넌트 안에 작성되어야 .. 2024. 1. 8.