코딩테스트

[프로그래머스/Javascript] 짝지어 제거하기

📄 문제 Lv. 2 2017 팁스타운 짝지어 제거하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 항상 2개씩 제거되어야 하므로 s의 길이가 홀수인 경우에는 항상 0으로 리턴한다. 💡 Stack을 사용해 문제를 해결한다. 다른 방법으로 접근했다가 효율성 테스트를 통과하지 못했다..😥 👉 입출력 예 #1으로 Stack 이해하기 📝 문제 풀이 function solution(s) { if (s.length % 2) { return 0; } const stack = []; for (let i = 0; i < s.length; i++) { c..

코딩테스트

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

📄 문제 Lv 2. 탐욕법(Greedy) 구명보트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 가장 효율적으로 구명보트를 운영하려면 무게 제한을 넘지 않는 선에서 가장 작은 몸무게 + 가장 큰 몸무게를 함께 태운다. 📝 문제 풀이 function solution(people, limit) { const ascendingPeople = people.sort((a, b) => a - b); let count = 0; while (ascendingPeople.length) { if (limit >= ascendingPeople[0] + as..

코딩테스트

[프로그래머스/Javascript] 올바른 괄호

📄 문제 Lv 2. 스택/큐 올바른 괄호 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 )가 (보다 먼저 있으면 안 된다. 💡 (와 )의 수가 같아야 한다. 📝 문제 풀이 function solution(s){ let leftCount = 0; let rightCount = 0; for (let i = 0; i < s.length; i++) { if ('(' === s[i]) { leftCount += 1; } else { rightCount += 1; } if (leftCount < rightCount) { return false; }..

코딩테스트

[프로그래머스/Javascript] 영어 끝말잇기

📄 문제 Lv. 2 Summer/Winter Coding(~2018) 영어 끝말잇기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📝 문제 풀이 ❓ if (0 === i) 조건 대신 let i = 1;로 작성했었는데, 이상하게 시간이 더 오래 걸렸다. 똑같이 변수를 초기화하고 값을 할당하는 건데 0과 1 이 뭔가 차이가 있나? 조금 더 검색해 봐야겠다. function solution(n, words) { let answer = [0, 0]; for (let i = 0; i < words.length; i++) { if (0 === i) { continu..

코딩테스트

[프로그래머스/Javascript] 덧칠하기

📄 문제 Lv. 1 연습문제 덧칠하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 한 번의 페인트칠로 어느 구역까지 칠해졌는지 확인하고, section을 돌면서 이미 칠해진 영역인지 확인하면 되지 않을까? 📝 문제 풀이 function solution(n, m, section) { let count = 0; let lastSectionIndex = 0; section.forEach((part, i) => { if (0 === i || m + lastSectionIndex

코딩테스트

[프로그래머스/Javascript] 실패율

📄 문제 Lv 1. 2019 KAKAO BLIND RECRUITMENT 실패율 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 ❓ 실패율을 기준으로 스테이지 오름차순으로 정렬해야 한다 💡 실패율과 스테이지 정보가 모두 필요하므로 객체를 활용하자 📝 문제 풀이 실행 시간 단축을 위해 failer를 challenger로 filtering 하였습니다 const failer = stages.filter(stage => i === stage); // 평균 843.64ms const failer = challenger.filter(stage => i =..

코딩테스트

[프로그래머스/Javascript] 카드 뭉치

📄 문제 Lv 1. 연습문제 카드 뭉치 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 ❓ 카드 뭉치는 서로 다른 카드들로 구성되어 있다 ❓ 카드 순서대로 문장을 구성해야한다 (어느 카드 뭉치든 상관 없음) 💡 goal의 단어와 일치하면 원소를 제거하여 항상 배열의 첫 번째 값만 비교하면 쉽지 않을까? 📝 문제 풀이 매개변수 재할당을 피하기 위해 slice로 배열을 복사하여 사용 카드를 찾지 못했을 경우 빠르게 return 할 수 있도록 for문 사용 card1에서 찾으면 card2를 확인할 필요가 없으므로 continue 사용 functio..

코딩테스트

[프로그래머스/Javascript] 과일 장수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 사과 상자의 가격은 상자에 포함된 최저 사과 점수로 결정된다. 포장되지 않은 사과는 버려진다. 👉 최대 이익을 구해야하기 때문에 낮은 점수의 사과를 버리는 방향으로 진행 👉 사과 점수를 내림차순으로 정리하고, 개수에 맞게 포장하여 가격을 구하자 문제 풀이 function solution(k, m, score) { const scoreToDesc = score.sort((a, b)..

셈인
'코딩테스트' 태그의 글 목록 (2 Page)