분류 전체보기 135

프로그래머스 15탄 -(아마존 면접문제)

1. 사무실에는 특정일자의 출퇴근 시간이 기록된 거대한 로그파일이 있다고 한다. 파일의 형식은 다음과 같다. (한 라인에서 앞부분은 출근시간(HH:MM:SS), 뒷부분은 퇴근시간이다) 09:12:23 11:14:35 10:34:01 13:23:40 10:34:31 11:20:10 특정시간을 입력(예:11:05:20)으로 주었을 때 그 시간에 총 몇 명이 사무실에 있었는지 알려주는 함수를 작성하시오. 풀이 let t = '09:12:23' t = t.split(':').join('') let count = 0 let logs = `09:12:23 11:14:35 10:34:01 13:23:40 10:34:31 11:20:10` let log = logs.split('\n') for (let l of log..

프로그래머스 14탄-(코딩도장 아마존 면접문제)

1. 다음과 같은 형태의 배열을 [a1,a2,a3...,an,b1,b2...bn] 다음과 같은 형태로 바꾸시오 [a1,b1,a2,b2.....an,bn] 풀이 // swap을 하는 방법 const arr = [10, 20, 30, 40, 50, 60]; [arr[1], arr[2]] = [arr[2], arr[1]]; console.log(arr); // const l = ['a1','a2','a3','a4','a5','b1','b2','b3','b4','b5'] function solution(list) { var n = list.length / 2; for (let i = 1; i < n; i++) { for (let j = i * 2 - 1; j < n + i; j++) { [list[j], lis..

프로그래머스 13탄 -(코딩도장 3탄 구글 전화면접 문제)

1. n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다. 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다. 정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다. 예. -1 1 3 -2 2 ans: -1 -2 1 3 2. 풀이 function solution(value){ return [...value.filter(v => v v >= 0)] } solution([-1, 1, 3, -2, 2]) solution 함수는 value라는 매개변수를 받습니다. 함수 내부에서는 배열의 filter 메서드를 사용하여 음수 값(v < 0)을 필터링한 ..

카테고리 없음 2023.05.31

프로그래머스 12탄 (코딩 도장 문제 1,2)

1. 1차원의 점들이 주어졌을 때, 그 중 가장 거리가 짧은 것의 쌍을 출력하는 함수를 작성하시오. (단 점들의 배열은 모두 정렬되어있다고 가정한다.)예를들어 S={1, 3, 4, 8, 13, 17, 20} 이 주어졌다면, 결과값은 (3, 4)가 될 것이다. 풀이 s = [1, 3, 4, 8, 13, 17, 20] index = 0 minim = Infinity for (let i = 1; i < s.length; i++) { if (s[i] - s[i-1] < minim) { index = i minim = s[i] - s[i-1] } } console.log(s[index], s[index-1]) 주어진 배열 s에서 연속된 두 요소 간의 차이가 가장 작은 인덱스를 찾아 그 인덱스와 그 전 인덱스의 값..

메서드

fill()은 JavaScript 배열의 모든 요소를 정적인 값으로 채우는 메서드입니다. 이 메서드는 배열의 시작 인덱스부터 끝 인덱스까지 지정된 값으로 요소를 채웁니다. fill() 메서드는 세 가지 매개변수를 가집니다: value (필수): 배열을 채울 정적인 값입니다. start (선택적): 배열 요소를 채우기 시작할 인덱스입니다. 기본값은 0입니다. end (선택적): 배열 요소를 채우기를 멈출 (하지만 포함되지는 않는) 인덱스입니다. 기본값은 배열의 길이입니다. fill()을 호출하면 배열의 해당 범위 내의 모든 요소가 지정된 값으로 바뀝니다. 원래의 배열을 수정하며 새로운 배열을 반환하지 않습니다. sort()와 filter()는 JavaScript 배열의 메서드로, 배열을 정렬하거나 원하는 ..

카테고리 없음 2023.05.28

프로그래머스 11탄

겹치는 선분의 길이 문제 설명 선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요. lines가 [[0, 2], [-3, -1], [-2, 1]]일 때 그림으로 나타내면 다음과 같습니다. line_2.png 선분이 두 개 이상 겹친 곳은 [-2, -1], [0, 1]로 길이 2만큼 겹쳐있습니다. 제한사항 lines의 길이 = 3 lines의 원소의 길이 = 2 모든 선분은 길이가 1 이상입니다. lines의 원소는 [a, b] 형태이며, a, b는 각각 ..

프로그래머스 10탄

한 번만 등장한 문자 문제 설명 문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다. 제한사항 0 응급순서.indexOf(v)+1) } function solution(emergency) { let sort = [...emergency].sort((a, b) => b - a); return emergency.map(k => { const queue = sort.findIndex(v => v === k); return queue + 1 }); } 영어가 싫어요 문제 설명 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다..

프로그래머스9탄

저주의 숫자 3 문제 설명 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 10진법 3x 마을에서 쓰는 숫자 10진법 3x 마을에서 쓰는 숫자 1 1 6 8 2 2 7 10 3 4 8 11 4 5 9 14 5 7 10 16 정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 15 25 40 76 입출력 예 설명 입출력 예 #1 15를 3x 마을의 숫자로 변환하면 25입니다. 입출력 예 #2 40을 3x 마을의 숫자로 변환하면 76입니다. 풀이 function solution(..