본문 바로가기

javascript8

[백준] Javascript의 shift() 사용했을때 시간초과 관계 리스트를 만들때 input에서 shift()를 해서 받아와 만들었는데 시간초과가 났다.. // 연결 관계리스트 만들기 for (let i = 0; i < M; i++) { let [x, y] = input.shift().split(" ").map(Number); graph[x].push(y); graph[y].push(x); } 검색해보니 shift()가 많이 느리다고하네 .. 배열의 끝이 아닌 임의의 위치에서 항목을 삭제하는 것은 큰 대가를 치뤄야 하기 때문입니다. 그래서 index를 지정해서 설정해줬다. // 연결 관계리스트 만들기 for (let i = 0; i < M; i++) { let [x, y] = input[i].split(" ").map(Number); graph[x].push(y).. 2023. 10. 19.
[백준 14503] 백준 로봇청소기 Javascript 문제 이름 백준 14503 로봇청소기 문제 풀기 전 생각 눈물나게 어려웠다 ... 이것이 ... 골드 5 ?????? 다들 이런걸 푼단 말이야 ...? 난이도는 골드 5다. 새롭게 알게 된 것 , 기억할 것 1. 방향에 따른 이동이 있는 문제라면 dx = [0,0,-1,1] dy=[-1,1,0,0] 이동에 따른 좌표를 만들어서 let nx = x + dx[0]; let ny = y + dy[0] 이렇게 왔다갔다 해주는게 좋다 알기 전엔 case 문으로 이동시켰는데 머리 깨질뻔 .... 2. 후진하는 경우 정답이 안나와서 뭐가문제지 .. 하고 보고있는데 후진하는 경우 좌표를 잘못 설정 해줬다. 나는 삼항 연산자를 써서 let bd = nd >= 2 ? nd - 2 : nd + 2; 이렇게 .. 써줬는데 다.. 2023. 10. 18.
[ 프로그래머스 ] 완전탐색 | 모의고사 javascript https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이름 모의고사 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 2023. 6. 15.
[ 프로그래머스 ] DFS | 타겟 넘버 javascript 타겟 넘버 문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 .. 2023. 6. 14.