프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 나의 풀이 이 문제는 부동 소수점 오차를 조심해야한다. users의 형태 : users = [ 비율, 가격] 📃 문제 풀이 순서 1️⃣ 이모티콘 할인율 (10%, 20%, 30%, 40%)중에서 비율보다 낮은 할인율은 제거 function getDiscountRates(users) { const minRate = Math.min(...users.map(([discountRate,_]) => discountRate)) return [40, 30, 20, 10].filter((rate) => rate >= m..
분류 전체보기
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 이 문제는 사소한 실수로 인해 3시간을 풀었다. 결국 테스트 케이스를 직접 9개 정도 만들고 나서 발견했다. 화살표함수를 사용했는데 return을 써주지 않아서 undefined이 계속 return되어서 되지 않았다. 그걸 찾았을 때 정말 허무했지만 그래도 기뻤다. 어떻게 하면 이런실수를 다음에 하지 않을까? 확실히 코드가 길어지고 복잡해지면 실수할 가능성이 너무 높아져서 조심해야한다. 그런다고 처음부터 리팩터링하면서 진행하면 까다로운 문제는 정말 오래걸려서 딜레마다. 일단은 최대한 주석은 많이 작..
이글을 읽기전에 ORM에 대해 알아야 합니다. ORM 이란? 📌 ORM ? 프로젝트를 하다보면 데이터 베이스가 사용해야할 때가 온다. 하지만 프로그래밍은 데이터를 활용할 때 주로 객체를 사용하고 관계형 데이터베이스는 테이블을 사용하기 때문에 서로 html-jc.tistory.com 1. Prisma란? Prisma는 현대적인 ORM도구로, 데이터베이스와의 상호작용을 쉽고 효율적으로 관리하는 도구이다. Prisma는 개발자가 데이터베이스 스키마를 정의하고, 데이터베이스에 대한 질의 및 조작을 수행하는 작업을 단순화하는데 사용한다. 흠... ORM이라는 것은 알겠는데 그럼 기존 ORM과 어떤 차이가 있을까? prism 공식 사이트로가면 prisma를 '차세대 Node.js와 TypeScript ORM'이라고..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 이 문제가 level.1 오답률 2등이던데 이유를 알 것 같다. 조건을 명확하게 지켜야 정답이된다. 문제 풀이 순서는 아래와 같다. 📌 1. 시작 포인트 찾기 시작 포인트가 매번 0,0이 아니기 때문에 매 route마다 찾아야한다. function findStartingPoint(park) { let [nowX, nowY] = [0, 0]; for (let i = 0; i < park.length; i++) { if (park[i].indexOf('S') !== -1) { nowX = park[i]..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 어렵기보단 실수를 유발할 수 있는 문제인 것 같다. 이번이 두 번재 풀이인데 첫 번째 풀이때와 똑같은 실수를 했다. 실수의 가장 큰 원인은 대충 작성한 코드때문이다. 코테문제를 풀다보면 빠르게 풀고나서 리팩터링을 진행하는데 빠르게 풀다보면 변수명, 함수명을 대충 정하기에 풀이가 길어지면 헷갈리거나 처음에 고려했던 부분을 고려하지 않게되는 경우가 발생해서 의도와 다른 답이 나와서 틀리는 경우가 있는데 오늘이 그랬다. 시간이 걸리더라도 풀이가 길어질때는 리팩터링 하면서 천천히 진행해야겠다. 이 문제에서..
📌 ORM ? 프로젝트를 하다보면 데이터 베이스가 사용해야할 때가 온다. 하지만 프로그래밍은 데이터를 활용할 때 주로 객체를 사용하고 관계형 데이터베이스는 테이블을 사용하기 때문에 서로의 모델이 불일치하기에 활용하기 어렵다. 예를들어 나는 한국어를 사용하는데 상대방이 불어를 사용하면 서로의 커뮤니케이션이 어려워지는 것과 마찬가지다. 이 둘 사이를 매끄럽게 연결되도록 도와주는 역할을 하는게 바로 ORM이다. 관계형 데이터베이스는 테이블 형태로 데이터를 저장하고 검색하는 방식을 사용하고 객체 지향 프로그래밍은 객체라는 개념을 사용하여 데이터와 해당 데이터를 조작하는 메서드를 포함한다. ORM은 이러한 두 가지 다른 패러다임 사이에서 데이터를 변환하고 매핑하여 개발자가 데이터베이스를 직접 다르지 않고 객체를 ..
컴퓨터로 작업을 하다보면 파일 포맷을 먼저 확인하고, 그에 맞게 처리해야 할 때가 있다. 예를 들어, 이미지 포맷들 중 JPEG와 GIF를 구분하여 다르게 처리해야하는 경우, JPEG는 정적 단일 이미지로 렌더링 하고 GIF는 이미지 스트림을 지원하므로 소위 말하는 움짤로 구현해야 하는 경우가 있다. 그렇다면 파일 포맷이 JPEG 또는 GIF인지 어떻게 확인하면 좋을까? 가장 간단한 방법은 파일 이름의 확장자로 구분하는 것이다. 일반적인 경우 문제가 없지만 만약 사용자가 임의로 파일의 확장자를 변경하는 경우, 의도하지 않은 결과를 낳게 된다. 왜냐하면 확장자를 변경한다고 해서 파일 포맷이 변경되는 것은 아니기 때문이다. JPEG 포맷인 파일인 imge.jpeg를 확장자만 gif로 한 image.gif로 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 나의 풀이 1시간을 고민하였지만 풀지 못했다. 아래 풀이는 최대한 풀어본 풀이다 콜백 형식으로 하면 이 문제를 풀기 어렵다. 개구간 범위가 최대 1억이기 때문이다. 그래도 일단은 풀어보았다. 나의 풀이는 간단하다. 1. 요격 가능한 모든 x좌표를 구하고 각 x좌표마다 최대 몇발의 미사일을 요격할 수 있는지 객체를 통해서 파악한다. 2. 최대로 요격할 수 있는 첫 번째x좌표를 구한다. (Map 객체의 순서보장성을 활용했다) 3. targets.filter를 통해 2번에서 구한 x좌표가 범위에 있으면 해당 미..
📚 시리즈 목차 1. 컴퓨팅 사고 2. C언어 3. 배열 4. 알고리즘 5. 메모리 6. 자료구조 5. 메모리 1) 메모리 주소 일단 메모리 주소를 알보기전에 메모리 부터 알아야 한다. 1️⃣ 메모리 메모리는 영어로 당연히 memory라 하고 이는 여러분이 잘 아시는 것 처럼 "기억", "기록"을 뜻하는 영어단어이다. 컴퓨터에서도 마찬가지로 메모리는 기억을 하는 장치로 사용된다. 메모리는 데이터의 저장과 처리를 담당하여 컴퓨터 시스템의 핵심적인 역할을 수행한다. 풀어 말하면, 메모리는 컴퓨터가 실행 중인 프로그램과 작업에 필요한 데이터를 일시적으로 저장하는 장치로 우리가 일상적으로 사용하는 모든 프로그램과 작업에 불가능한 빠른 속도와 신속한 데이터 액세스를 제공한다. 컴퓨터 메모리는 크게 주기억장치와 보..