728x90 Research/Coding Test24 leetcode_66. plus-one Problem plus-one https://leetcode.com/problems/plus-one/description/ Intuition 받아오는 배열을 join하여 10진수로 바꾼 뒤, 이에 1을 더하고 다시 배열로 바꾸는 방식으로 접근했다. 하지만 수치가 커지면서 연산이 정상적으로 작동되지 않았다. BigInt의 문제일까 생각했지만, 이 문제의 핵심은 그런 방향이 아닐 것이라 생각했다. Approach 결국 9에서 10으로 넘어갈 때 앞자리에 1씩 올려주는 것이 핵심이다. 이는 좌에서 우가 아니라 우에서 좌로 increment되는 것이기 때문에 역방향으로 감산하는 방식의 for문을 사용했다. 처음 left(나머지의 콩글리쉬)에 1을 초기값으로 넣어준 다음, 반복문이 돌 때 현재 값 + left가 .. 2023. 3. 24. 747. Largest Number At Least Twice of Others Problem Largest Number At Least Twice of Others https://leetcode.com/problems/largest-number-at-least-twice-of-others/description/ Intuition Approach 어레이의 가장 큰 수가 다른 수들보다 2배 이상 큰지 확인하는 함수를 만들어야 한다. 클 경우 큰 수의 인덱스를, 그렇지 않을 경우 -1을 반환한다. 여기서 우리가 필요한 정보는 주어진 배열의 가장 큰 수의 인덱스 다른 수들과 비교했을 때 2배 이상 큰지 가장 큰 수는 반복문을 돌며 비교대조하는 방식으로 구하고 이때 큰 수의 값이 아닌 인덱스를 저장한다. 왜냐하면 그 위치를 기억해야하기 때문이다. 그 다음 주어진 배열로 돌아가서, 가장 큰 .. 2023. 3. 23. 스택/큐_기능개발 Problem https://school.programmers.co.kr/learn/courses/30/lessons/42586 여러 기능개발 작업들이 동시에 수행중이며 뒤의 작업은 앞의 작업보다 먼저 완료될 수 있다. 하지만 완료된 기능개발 작업들을 배포하는 순서는 앞의 작업 순서에 의존적이다. 즉, 앞이 먼저 배포가 되거나 배포가 될 때 뒤의 작업들도 배포가 될 수 있게 된다. 앞이 먼저 나가야 뒤도 나갈 수 있는 Queue 형태의 데이터 구조다. Approach tasks가 일종의 queue 구조가 된다. tasks가 아직 남아있음을 조건으로 while문을 돌린다. tasks의 가장 첫 작업이 끝났는지 여부를 확인한 뒤, 끝났다면 해당 작업을 tasks, speeds 배열에 빼준다. 이때 뒤에 작업.. 2023. 3. 21. 스택/큐_같은 숫자는 싫어 Problem https://school.programmers.co.kr/learn/courses/30/lessons/12906 Approach 우선 빈 배열을 만들어 준다. 다른 문제 풀이의 경우, 주어진 배열의 첫 요소를 초기값으로 넣어주는 경우도 있었다. 하지만 깔끔하게 빈 배열에서 시작하는 것을 선호해서 이렇게 진행했다. input 배열을 반복문으로 돌면서 빈 배열에 하나씩 push한다. 이때 push하려는 요소와 이미 들어가있는 요소가 동일한지 확인해야하는데, 이 확인 작업을 위해 peek() 헬퍼함수를 따로 만들어주었다. Solution function solution(arr) { var answer = []; function peek() { return answer[answer.length .. 2023. 3. 21. 이전 1 2 3 4 5 6 다음 728x90