코딩테스트 5

[프로그래머스 코딩테스트] - 키패드 누르기 (JavaScript)

이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 1. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 2. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 3. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 4. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다. 4-1. 만약 두 엄지손가락의 거리가 같다면, 오른손잡이는 오..

[프로그래머스 코딩테스트] - 숫자 문자열과 영단어 (JavaScript)

[매개변수] s : 일부 자릿수가 영단어로 바뀌어졌거나 , 바뀌지않고 그대로인 문자열 return값 : s가 의미하는 원래 숫자 [제한사항] 1 ≤ s의 길이 ≤ 50 s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다. return 값이 1 이상 2,000,000,000 이하의 정수가 되는 올바른 입력만 s로 주어집니다. [풀이] function solution(s) { let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]; var answer = s; for (let i=0;i

[프로그래머스 코딩테스트] - 로또의 최고 순위와 최저 순위 (JavaScript)

로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. [매개변수] lottos : 민우가 구매한 로또 번호를 담은 배열 win_nums : 당첨번호를 담은 배열 return값 : 당첨가능한 최고순위,최저순위 [max,min] [제한사항] lottos는 길이 6인 정수 배열입니다. lottos의 모든 원소는 0 이상 45 이하인 정수입니다. 0은 알아볼 수 없는 숫자를 의미합니다. 0을 제외한 다른 숫자들은 lottos에 2개 이상 담겨있지 않습니다. lottos의 원소들은 정렬되어 있지 않을 수도 있습니다. win_nums은 길이 6인 정수 배열입니다. win_nums의 모든 원소는 1 이상 45 이하인 정수..

[프로그래머스 코딩테스트] - 신규 아이디 추천 (JavaScript)

새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램 [매개변수] new_id : 신규 유저가 입력한 아이디 [제한사항] 아이디 길이는 3자이상 15자 이하 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있음 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없음 [처리단계] 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니..

[프로그래머스 코딩테스트] - 신고 결과 받기 (JavaScript)

[매개변수] 이용자의 id가 담긴 문자열 배열 : id_list 각 이용자가 신고한 이용자 id정보가 담긴 문자열 배열 : report 정지 기준이 되는 신고 횟수 : k 처리 결과 메일 받은 횟수 배열 : answer [제한사항] 1 ≤ id_list의 원소 길이 ≤ 10 2 ≤ id_list의 길이 ≤ 1,000 id_list는 소문자로만 이루어져 있음 , 중복해서 들어 있지 않음 1 ≤ report의 길이 ≤ 200,000 3 ≤ report의 원소 길이 ≤ 21 report의 원소는 ["이용자 id 신고한id"] 형태의 문자열 [풀이] 각 사용자 id별로 신고한 id의 이름들을 가지고있다. 신고한 id개수가 k개 이상이면 메일이 전송된다. 4. idReportObject 객체를 생성해준다. 5-7..