반응형

바닐라코딩 20

프로그래머스) 내적

https://programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 풀이 a 배열을 원소 a와 인덱스 i로 맵핑해서 각 값에 b[i]를 곱한다. 바로 reduce로 a 배열을 누산한다(초기값 0으로 설정). var solution = (a, b) => a.map((a,i) => a * b[i]).reduce((acc,cv)=>{return acc..

IT/Algorithm 2021.07.06

프로그래머스) 로또의 최고 순위와 최저 순위

https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 일치하는 번호의 배열 cor_list와 가려져 보이지 않는 배열 zero_list를 만들었다. win_nums에 대한 forEach 메소드로 값과 인덱스를 불러왔다. 그리고 lottos 배열에도 들어있는 숫자들을 cor_list에 넣었다. lottos의 가려진 숫자 0은 zero_list에 넣었다. 최고 순위는..

IT/Algorithm 2021.07.06

프로그래머스) 음양 더하기

https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 풀이 reduce 메소드를 활용하였고, 삼항 연산자로 signs의 값에 따라 부호를 부여하였다. 그리고 answer에 덧셈 누산을 시켜 값을 반환하였다. function solution(absolutes, signs) { var answer = 0; absolutes.reduce((acc,cv,idx) => { cv = signs[idx]..

IT/Algorithm 2021.07.05

프로그래머스) 모의고사

https://programmers.co.kr/learn/courses/30/lessons/42840# 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 풀이 a부터 c까지 각각 1번부터 3번 학생의 찍기 패턴을 정의하였고, 그리고 모두 같은 점수를 받을 경우를 고려하여 1~3의 key를 초기값 0으로 정의하여 loser 오브젝트를 정의했다. 문제는 최대 10,000개일 수 있으므로 answers의 길이만큼 반복한다. 1~3번 학생들은 각자의 패턴이 다르므로 각각 j, k, l로 반복된다. 각각의 패턴에 정답을..

IT/Algorithm 2021.07.01

프로그래머스) 신규 아이디 추천

https://programmers.co.kr/learn/courses/30/lessons/72410?language=javascript 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 풀이 문자열에서 조건에 부합하지 않는 문자가 있는지 확인하기 위해 리터럴 방식의 정규 표현식과 match 메소드를 활용하였다. 배열로 변환할 때에는 split("")으로 문자 하나씩 나누었다. ' . '의 위치와 2개 이상 붙어있는 경우는 for문에 splice 메소드를 활용하였다. 나머지 2개 이하, 16개 이상인 문..

IT/Algorithm 2021.06.30

바닐라코딩 프렙에 신청하다

나는 신청서에 서론을 길게 쓴다던지 부수적인 이야기를 하지 않으려고 노력했다. 프로그래밍을 배운 경험이 있지만 비전공자라고 생각하기 때문에 최대한 개발에 대한 이야기만을 하고 싶었기 때문이다. 그래서 지원 동기는 천문대에서 일한 경험을 개발에 대한 흥미를 가지게 된 계기와 연결 지어 자세히 썼다고 생각하지만 프렙 수료 후의 계획란에 너무나 간단 명료하게 적어서(3줄..) 간절함을 더 어필하지 못한 것 같아 마음에 걸린다 ㅠㅠㅠ 부트캠프 코스에 합격하는 것을 1순위로 생각하고 개발자 직군은 부트캠프를 진행하면서 고민하고자 했던 마음이었는데 다시 생각해보니 글만 봐서는 그렇게 보이지 않을 수도 있을 것 같다.. 휴 걱정과는 다르게 부디 내 간절함이 전해지길 바란다..

Life/일상 2021.06.29

프로그래머스) 폰켓몬

문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫..

IT/Algorithm 2021.06.25

프로그래머스) (카카오 인턴) 키패드 누르기

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

카테고리 없음 2021.06.25

프로그래머스) 하샤드 수

문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예 10 true 12 true 11 false 13 false arr return 입출력 예 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 11의 모든 자릿수의 합..

IT/Algorithm 2021.06.22

프로그래머스) 문자열 내 p와 y의 개수

https://programmers.co.kr/learn/courses/30/lessons/12916 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자..

IT/Algorithm 2021.06.18
반응형