map() 13

LV1 25 [1차] 비밀지도

문제 설명 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도..

LV1 20 이상한 문자

문제 설명 - 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s return "try hello world" "TrY HeLlO WoRlD" 나만의 풀이 문제에 무조건 공백이 존재한다고 하기 때문에 split(' ')라 배열화 하고 배열 길이 만큼 for문을 돌리고 arr[i]를 배열화 하고 map을 이용해 index 짝수는 대..

LV1 06 핸드폰 번호 가리기, 나누어 떨어지는 숫자 배열

핸드폰 번호 가리기 문제: phone_number로 전화번호가 주어 졌을 때 뒷 4자리를 제외한 나머지 숫자를 *로 표시하기 풀이: 문자열을 배열화 한 후 반복문과 삼항연산자를 이용해 뒤의 4자리만 남기고 '*'로 바꾼 후 join('') 했다. 정규표현식으로도 풀 수 있을 것 같다는 생각도 했다. (이건 혼자 해볼 생각임.) function solution(phone_number) { return phone_number.split('').map((e, i) => i < phone_number.length - 4 ? e = '*' : e).join(''); } 나누어 떨어지는 숫자 배열 문제: arr배열 각 element 중 숫자형 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하고..

LV0 89 옹알이(1)

문제 설면 - 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다. 문자열은 알파벳 소문..

LV0 78 등수 매기기

문제 설명 - 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ score[0], score[1] ≤ 100 1 ≤ score의 길이 ≤ 10 score의 원소 길이는 2입니다. score는 중복된 원소를 갖지 않습니다. 입출력 예 score result [[80, 70], [90, 50], [40, 70], [50, 80]] [1, 2, 4, 3] [[80, 70], [70, 80], [30, 50], [90, 100], [100, 90], [100, 100], [..

LV0 74 직사각형 넓이 구하기

문제 설명 - 2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요. 제한사항 dots의 길이 = 4 dots의 원소의 길이 = 2 -256 a[0]))]; let Y = [...new Set(dots.map(a => a[1]))]; return (Math.abs(X[0] - X[1])) * (Math.abs(Y[0] - Y[1])); }

LV0 61 k의 개수

문제 - 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요. 입출력 예 i j k result 1 13 1 6 10 50 5 5 3 10 2 0 나만의 풀이 간단하게 설명하면 매개변수 k가 몇 번 나오냐다. 그래서 while문을 이용해 i 이상 j 이하의 수를 다 출력하고 문자열로 치환하여 다 합친 후 map()와 삼항 연산자를 이용해서 변수에 + 1를 하면 된다~ function solution(i, j, k) { let numArr = [] while (i a === String(k) ? answer += 1 : null)..

LV0 58 모스부호 (1)

문제 - 머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 모스부호는 다음과 같습니다. morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-':'u','...-'..

LV0 45 369게임

문제 - 머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야 하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야 할 박수 횟수를 return 하도록 solution 함수를 완성해보세요. 입출력 예 order result 3 1 29423 2 나만의 풀이 order로 주어지는 숫자에 3,6,9 개수만큼 박수를 쳐야 한다. 그렇다면 비교를 하기 위해 숫자들을 분해해서 배열화 시키고 map을 이용해서 0이 아니거나 3으로 나누었을 때 나머지가 0면 변수에 +1 아니면 0을 더해주면 되는 문제이다~ function solution(order) { let answ..

LV0 42 가위 바위 보

문제 - 가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return 하도록 solution 함수를 완성해보세요. 입출력 예 rsp result "2" "0" "205" "052" 나만의 풀이 이 문제는 삼항 연산자 안에 삼항 연산자를 이용해 풀었다. 우선 간단하게 조건이 해달 될 때 값을 해당값을 출력하는 방식으로 풀면 되는데 문제가 매개 변수가 하나의 문자열로 제공이 된다는 것이다. 그래서 split를 이용해 배열로 만들고 map을 이용해 문제를 풀었다. 저건을 붙인 때 ==를 사용해도 2와 "2"비슷하여 참을 출력하지만 다른 어류를 방지하기 위해 ==..