문제https://school.programmers.co.kr/learn/courses/30/lessons/42888?language=javascript 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 자바스크립트function solution(record) { // 객체에 Key Value를 통해 user의 정보를 등록 또는 변경 let userDb = {}; for (const event of record) { const eventList = event.split(' ') if (eventList[0] === "Enter" || eventList[0] === ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42577?language=javascript 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 자바스크립트 phone_book의 길이가 1 이상 1,000,000 이하인 점을 감안해 최대한 빠르게 서칭하기 위해 먼저 sorting을 진행했다.정렬 방법은 아래와 같다.// 입출력 예제const phone_book = ["12", "88", "123", "567", "1235"]// 리스트를 문자 순으로 정렬한 경우 phone_book.sort() // ["12", "123", "1235", "567"..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 자바스크립트- 2중 while을 썼는데 실무에서는 보통 while문 사용을 지양하다보니 조금 마음에 걸린다.function solution(progresses, speeds) { let nowProgresses = progresses let nowSpeeds = speeds let answer = []; while(nowProgresses.length > 0) { // 필요한 일자 - 떨어지지 않을..
문제https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자바스크립트function solution(t, p) { const n = p.length; let answer = 0; for (let i = 0; i = parseInt(num)) { answer += 1 } } return answer;}
문제https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자바스크립트통과하지 못한 코드처음에는 (), [], {}의 개수만 체크하는 로직으로 접근했었는데 14개 중 마지막 테스트 케이스를 통과하지 못했다.// 통과하지 못한 잘못 접근한 코드// 괄호가 모두 올바른지 체크하는 함수function checkCorrect(bracketArr) { let checkBracket = [0, 0, 0] // Check Stack ["()","[]", {}] ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자바스크립트function solution(n, m, section) { let wall = new Array(n).fill(0); // 칠해야 할 영역은 양수로 체크 for (const num of section) { wall[num - 1] = 1 } let answer = 0 for (let i = 0; i 0) { // 칠해야 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자바스크립트처음에는 2중배열을 생성 후 이동했던 좌표들을 체크하면서 좌표의 크기가 양수인 경우는 이미 지나갔던 길로 체크하는 방식으로 전략을 잡았다.하지만 구현 단계에서 꼭지점의 좌표와 리스트의 2중 배열의 체크 부분에서 괴리가 오면서 이미 지나간 길의 중복 체크가 어려운 것을 깨닫고 다른 설계를 고민하게 되었다.좌표를 key & value처럼 저장하여 중복 체크하는 방향을 바꿔 Set을 사용하게..
문제https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자바스크립트X축,Y축의 좌표평면을 생각하며 가로 방향을 nowX, 세로 방향을 nowY로 지칭했다.반복되는 코드가 많아보이나 validation 처리를 위해 switch 문으로 분기 처리했다.제출 후 정확도 90%로 통과하지 못했었다.장애물이 있는지 확인하는 로직에서 처음에는 park[nowY - i][nowX] !== "O" 로 했었는데 생각해보니 처음 시작 위치인 S도 이동 가능한 좌표라는 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자바스크립트function solution(keymap, targets) { // 점수 Key & Value 객체 생성 let scoreObj = {}; for (let i = 0; i j + 1)) { // 눌러야 하는 횟수가 더 작다면 최신화 scoreObj[keymap[i][j]] = j + 1; ..