프로그래머스

Programmers(JavaScript)

[프로그래머스 자바스크립트] ‘입국심사’ 풀어보기

프로그래머스의 코딩테스트 문제 → 알고리즘 고득점 Kit → 이분탐색 카테고리에서 풀었다.이분탐색이라는 카테고리 안에 있는 문제인 것은 알았지만, 도대체 왜 이 문제가 이분탐색을 활용해야하는지 이해하지 못하고 삽질만 계속하다가 다른 분들의 풀이를 보고 겨우겨우 풀 수 있었다. 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/43238풀이우리가 구해야하는 것은 ‘모든 사람이 심사를 받는데 걸리는 시간의 최솟값’이다.n은 입국심사를 기다리는 사람 수이며, 배열 times에는 각 심사관이 한 명을 심사하는데 걸리는 시간이 담겨있다. 만약 ‘모든 사람이 심사를 받는데 걸리는 시간의 최솟값’을 안다면(answer라고 하자),심사관 A가 한 명을 ..

Programmers(JavaScript)

[프로그래머스 자바스크립트] ‘최소직사각형’ 풀어보기

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 나의 코드function solution(sizes) { var arr1 = []; var arr2 = []; for(let card of sizes) { if(card[0] arr1 배열과 arr2 배열을 생성한다.sizes 배열을 순회한다.가로 길이가 세로 길이보다 작다면 둘을 뒤바꾼다.arr1에 가로 길이를, arr2에 세로 길이를 push한다..

Programmers(JavaScript)

[프로그래머스 자바스크립트] ‘K번째수’ 풀어보기

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 나의 풀이function solution(array, commands) { var answer = []; for(let arr of commands) { var newArr = []; for(let i = arr[0]; i a-b); answer.push(newArr[arr[2] - 1]); } ..

Programmers(JavaScript)

[프로그래머스 자바스크립트] ‘구명보트’ 풀어보기

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/428851. 나의 풀이function solution(people, limit) { var sortedPeople = people.sort((a,b) => a-b); let cnt = 0; var i = 0; var j = sortedPeople.length - 1; while(i people 배열을 정렬한, sortedPeople 배열을 생성한다.포인터 두 개를 생성한다. (i는 0, j는 sortedPeople의 맨 끝에)i가 j보다 작거나 같을 동안 계속 순회를 하면서배열에서 가장 큰 값과 작은 값을 더한 값이 limit보다 작거나 같으면 i..

Programmers(JavaScript)

[프로그래머스 자바스크립트] ‘체육복’ 풀어보기

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 나의 풀이function solution(n, lost, reserve) { // 배열 정렬 lost.sort((a, b) => a - b); reserve.sort((a, b) => a - b); let lost_cnt = lost.length; for (let i = lost.length - 1; i >= 0; i--) { ..

Programmers(JavaScript)

[프로그래머스 자바스크립트] ‘기능개발’ 풀어보기

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/425861. 나의 풀이처음에 문제를 읽을 때는 조금 막막했었다. 도대체 뭘 하라는거지?progressses 배열과 speeds 배열이 있다.뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수는 있는데그러면 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 같이 배포된다.그래서 나는 어떻게 했냐면,100에서 progesses를 뺀 left_progresses 변수를 만들었다.left_progresses를 speeds로 나눈 값(이 때 올림을 해야한다(ceil 사용))을 새로운 배열에 push 한다.값들이 들어간 배열(days)를 순회하는데 가장 앞에 있는 index의 값을 변수 standar..

Programmers(JavaScript)

[프로그래머스 자바스크립트] ‘같은 숫자는 싫어’ 풀어보기

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12906 1. 자바스크립트에는 스택이 없나?스택을 활용해서 푸는 문제 같았고, 만약 C++로 문제를 풀었다면 STL stack을 활용해서 금방 풀 수 있을 것 같았다.하지만 자바스크립트에도 스택이 있나? 검색해보니 배열을 활용해서 스택을 직접 구현하는 방법들이 많이 나왔다. 근데 그러지말고 바로 배열을 쓰면 될 것 같아 배열을 사용했다.2. 하지만 자바스크랩트 배열에는 top이 없다.하지만 문제를 통과하지 못했다. 왜냐하면 내가 무의식적으로 top을 활용했는데, 자바스크립트의 배열에 .top을 붙여봤자 아무 일도 일어나지 않기 때문이다.top 대신 ‘배열.length - 1’을 넣으면 어..

Programmers(JavaScript)

[프로그래머스 자바스크립트] '완주하지 못한 선수' 풀어보기

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/425761. 답은 맞았지만 효율성 테스트에 통과를 못했다처음에는 그냥 단순히 participant에 있는 이름이 completion에 없으면 그 이름을 return 하면 되는 것이 아닌가라고 생각했는데 참가자 중에 동명이인이 있는 경우도 생각해야 했다. 따라서 participant에 해당 이름이 2개 이상 존재하고, completion 배열에 존재하는 해당 이름의 개수가 participant 배열에 존재하는 해당 이름의 개수보다 적다면 해당 이름을 return 했다.function solution(participant, completion) { for (var i = 0; i pa..

Programmers(JavaScript)

[프로그래머스 자바스크립트] '폰켓몬' 풀어보기

0. 자바스크립트 코딩테스트 스터디를 시작했다방학을 맞아 코딩테스트 스터디를 시작했다. 자바스크립트로 코딩테스트를 응시하고자 하는, 웹 프론트엔드 개발자를 희망하는 친구들끼리 모였다. 한동안 알고리즘 문제를 풀지 않아서 잘 풀 수 있을지는 모르겠지만, 그래서 더욱 열심히 해보려한다. 프로그래머스 사이트에서 코딩테스트 탭 → ‘알고리즘 고득점 Kit’ 메뉴를 클릭하면 유형별로 문제를 확인할 수 있다. 먼저 맨 왼쪽 위에 위치한 ‘해시’ 유형부터 풀어보았다. 그 중 맨 첫번째 문제, ‘폰켓몬’을 풀어보자. 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/1845 1. 나의 풀이function solution(nums) { var..

Programmers(JavaScript)

[프로그래머스 자바스크립트] 코딩테스트 입문 Day 9,10 풀어보기

Day 9 개미 군단 https://school.programmers.co.kr/learn/courses/30/lessons/120837 function solution(hp) { // 장군개미 = 5, 병정개미 = 3, 일개미 = 1 // hp가 0이라면 if(hp === 0) { return 0; } // hp가 1이거나 3이라면 if(hp === 1 || hp === 3) { return 1; } // hp가 2이거나 4라면 if(hp === 2 || hp === 4) { return 2; } // hp가 5 이상이라면 if(hp >= 5) { // hp를 5로 나눈 몫 let quotient = parseInt(hp / 5); // hp를 5로 나눈 나머지 let remainder = hp % 5..

퀵차분
'프로그래머스' 태그의 글 목록