javascript
[JavaScript] 프로그래머스 - 프린터
문제 해결 1. 인쇄되는 조건과 내 문서의 위치 그리고 인쇄가 몇번 됐는지 체크하며 문제를 해결한다. 2. 맨 앞의 문서를 꺼내고 우선순위가 제일 높은지 확인한다. 3. 우선순위가 제일 높다면 인쇄를 하고 카운트를 올려준다. 4. 아니라면 꺼낸 문서를 맨 뒤에 집어 넣는다. 5. 문서를 꺼낼 때마다 내문서의 위치를 바꿔준다. 6. 다시 2번으로 돌아가 반복한다. 😎 스택/큐 문제이다. 소스 코드 function solution(priorities, location) { var answer = 0; // 인쇄를 몇번 했는지 var cnt = 0 // 내문서의 위치 var myDoc = location while (priorities.length > 0) { // 맨 앞의 문서를 꺼낸다 var c = pri..
[python] 프로그래머스 - 동굴 탐험 (2020 카카오 인턴십)
문제 해결 1. 그래프 문제 2. 주어진 path 로 인접리스트를 만든다. 3. 주어진 order 로 딕셔너리를 만든다. (1) a 를 방문해야 b 를 방문할 수 있다. (2) a를 키, b를 밸류로 하는 딕셔너리를 만든다 | a를 방문했을 때 b를 방문할 수 있다 라는 것을 찾기 위해| (3) b를 키, a를 밸류로 하는 딕셔너리를 만든다 | b를 방문하려고 하는데 a를 이미 방문했는지 알아보기 위해| (4) a가 0인 경우(선행 조건이 0번방을 방문하는 것) 이므로 값을 0으로 해준다.) (5) b가 0인 경우(0번방을 방문하기 위해 다른 방을 방문하고 와야 하므로 처음부터 방에 들어가지 못한다.) 4. visited 배열(0과 1)을 만든다. 방문했는지 안했는지 알아보기 위해 5. 큐를 만들어 BF..
[JavaScript] 프로그래머스 - 영어 끝말잇기(Summer/Winter Coding(~2018))
문제 해결 1. 앞단어의 뒷글자와 뒷단어의 앞글자를 비교하며 맞는지 확인하고 2. 사용한 단어는 따로 배열에 담아두고 확인한다. 3. 조건에 맞지 않는다면 게임을 종료 🌦 배열을 인덱싱하는 문제 🐱🏍 배열이나 스트링의 맨 뒤 인덱스를 선택하는 방법 파이썬에서는 보통 list[-1] 로 맨뒤 인덱스를 선택할 수 있으나 자바스크립트에서는 array[array.length - 1] 로 맨뒤 인덱스를 선택한다. 소스 코드 function solution(n, words) { var answer = [0, 0]; // 이미 사용한 단어를 넣을 배열 var usedWords = [] // 1번 플레이어부터 시작 usedWords.push(words[0]) for (let i = 1; i < words.length..
[JavaScript] 프로그래머스 - 기능개발
문제 해결 1. 큐/스택을 활용하는 문제! 2. 현재 진행 상황(progresses) 에 각각 속도(speeds)를 더해준다. 3. 뒤에있는 기능이 앞의 기능보다 먼저 개발 돼도 배포가 불가능 (1) 맨 앞의 기능부터 확인해 준다. (2) 맨 앞의 기능이 개발 완료 됐다면 배포한다(배열에서 제거한다.) (3) 개발 완료 되지 않았다면 2번으로 간다 🌤 큐/스택을 활용하는 문제 splice를 이용했는데 pop과 shift라는 메소드가 존재하는 것을 알게 됐다. 🛴 pop. shift var arr = [1,2,3,4,5] arr.pop() console.log(arr) // [ 1, 2, 3, 4 ] arr.shift() console.log(arr) // [ 2, 3, 4 ] pop은 배열의 마지막에 있..
[JavaScript] 프로그래머스 - 체육복
문제 해결 1. 체육복을 잃어버린 학생이 여벌을 가지고 있는 경우를 제외 한다. 2. 체육복을 잃어버린 학생으로 for 문을 돌리며 (1) 학생보다 이전 번호의 학생이 여벌을 가지고 있다면 그냥 빌린다. (2) 학생보다 이전 번호의 학생이 여벌을 가지고 있지 않고, 다음 사람이 가지고 있다면 빌리고, 여벌을 가지고 있는 학생을 지운다. (3) 양쪽 모두 없으면 넘어간다. (4) 체육복을 빌릴 때마다 카운트를 센다. ☔ 깜빡하고 블로그를 쓰지 못했다... 늦게라도 쓴다 ㅠ 오늘은 filter를 알아보자. 🚐 filter 이 메소드는 배열에서 특정 조건을 만족하는 값(들)을 모아 다시 배열로 만드는 작업이다. var arr = [1,2,3,4,5,6,7,8,9] var newArr = arr.filter( ..
[JavaScript] 프로그래머스 - 문자열을 정수로 바꾸기/ 서울에서 김서방찾기/ 같은 숫자는 싫어/ 문자열 내 p와 y의 개수
1. 문자열을 정수로 바꾸기 문제 해결 1. 자바스크립트의 속성을 이용하는 방법 2. 주어진 문자열에 *1을 해준다.' 🚙 String To Number 자바스크립트에서는 숫자로 이루어진 문자와 연산을 시키면 알아서 Number로 바꾸고 연산을 진행한다. a = '1234' console.log(a*1) // 1234 b = '-1234' console.log(b*1) // -1234 소스 코드 function solution(s) { return s * 1; } 2. 서울에서 김서방 찾기 문제 해결 1. for 문을 활용해 배열을 하나씩 탐색하고 if 문으로 원하는 값이 나올 때 그 인덱스를 답으로 출력한다. or 2. indexOf 함수를 이용한다. 🚖 indexOf 찾을 배열.indexOf("찾고자..