[TIL] 2023.08.13 Programmers_빈 배열에 추가, 삭제하기
빈 배열에 추가, 삭제하기 문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flag[i]가 true라면 X의 뒤에 arr[i]를 arr[i] × 2 번 추가하고, flag[i]가 false라면 X에서 마지막 arr[i]개의 원소를 제거한 뒤 X를 return 하는 solution 함수를 작성해 주세요. 입출력 예 arr flag result [3, 2, 4, 1, 3] [true, false, true, false, false] [3, 3, 3, 3, 4, 4, 4, 4] 예제 1번에서 X의 변화를 표로 나타내면 다음과 같습니다 i flag[i] arr[i] X [] 0 tru..
2023. 8. 13.
[TIL] 2023.08.11 Programmers_날짜 비교하기
날짜 비교하기 문제 설명 정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다. 만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return 하는 solution 함수를 완성해 주세요. 입출력 예 date1 date2 result [2021, 12, 28] [2021, 12, 29] 1 [1024, 10, 24] [1024, 10, 24] 0 입출력 예 #1 date1이 date2보다 하루 앞서기 때문에 1을 return 합니다. 입출력 예 #2 date1과 date2는 날짜가 서로 같으므로 date1이 더 앞서는 날짜가 아닙니다..
2023. 8. 11.
[TIL] 2023.08.02 Programmers_특별한 이차원 배열 2
특별한 이차원 배열 2 문제 설명 n × n 크기의 이차원 배열 arr이 매개변수로 주어질 때, arr이 다음을 만족하면 1을 아니라면 0을 return 하는 solution 함수를 작성해 주세요. 0 ≤ i, j < n인 정수 i, j에 대하여 arr[i][j] = arr[j][i] 입출력 예 arr result [[5, 192, 33], [192, 72, 95], [33, 95, 999]] 1 [[19, 498, 258, 587], [63, 93, 7, 754], [258, 7, 1000, 723], [587, 754, 723, 81]] 0 입출력 예 #1 예제 1번에서 문제의 조건이 잘 보이도록 표를 만들면 다음과 같습니다. 조건을 만족하므로 1을 return 합니다. i j arr[i][j] ar..
2023. 8. 2.
[TIL] 2023.07.27 Programmers_수열과 구간 쿼리 3
수열과 구간 쿼리 3 문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다. 각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. 입출력 예 arr queries result [0, 1, 2, 3, 4] [[0, 3],[1, 2],[1, 4]] [3, 4, 1, 0, 2] 각 쿼리에 따라 arr가 다음과 같이 변합니다. arr [0, 1, 2, 3, 4] [3, 1, 2, 0, 4] [3, 2, 1, 0, 4] [3, 4, 1, 0, 2] 따라서 [3, 4, 1,..
2023. 7. 28.
[TIL] 2023.07.15 Programmers_l로 만들기
l로 만들기 문제 설명 알파벳 소문자로 이루어진 문자열 myString이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요. 입출력 예 myString result "abcdevwxyz" "lllllvwxyz" "jjnnllkkmm" "llnnllllmm" 입출력 예 #1 0 ~ 4번 인덱스의 문자 "a","b","c","d","e"는 각각 "l"보다 앞서는 문자입니다. 따라서 "l"로 고쳐줍니다. 그 외의 문자는 모두 "l"보다 앞서지 않는 문자입니다. 따라서 바꾸지 않습니다. 따라서 "lllllvwxyz"을 return 합니다. 입출력 예 #2 0번, 1번, 6번, 7번 인덱스의 문자 "j","j","k","k"는..
2023. 7. 15.
[TIL] 2023.07.03 Programmers_배열의 원소만큼 추가하기
배열의 원소만큼 추가하기 문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요. 입출력 예 arr result [5, 1, 4] [5, 5, 5, 5, 5, 1, 4, 4, 4, 4] [6, 6] [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] [1] [1] 나의 풀이 function solution(arr) { let answer = []; for (const num of arr) { answer = [...answer, ...Array(num).fill(..
2023. 7. 4.