본문 바로가기

전체 글540

[Programmers Test] (2회차 코딩테스트) No 3. MostAppearNumber [문제 설명] 숫자로 이루어진 문자열 s가 있습니다. 이 문자열에서 가장 많이 등장하는 수를 출력하는 함수, solution을 완성해주세요. 예를 들어, s가 '104001100'로 주어질 때, 가장 많이 등장하는 수는 0입니다. [제한 사항] - 등장하는 수가 같은 경우, 작은 수를 출력합니다. [입력 형식] - s는 길이가 1 이상 100 이하의 문자열입니다. - s는 숫자로 구성됩니다. [출력 형식] - 가장 많이 등장하는 수를 출력합니다. function solution(n) { let val = 0, maxCnt = 0, cnt; const t1 = function () { val = n[0]; maxCnt = cnt; }; const t2 = () => (val = cnt == maxCnt ?.. 2023. 1. 27.
[Programmers Test] (2회차 코딩테스트) No 1. binaryNumber 문자열 S는 2진수로 표현된 양의 정수입니다. 해당 정수에 아래의 연산을 수행합니다. 1. 만약 숫자가 짝수인 경우 해당 값의 2를 나눈다. 2. 만약 숫자가 홀수인 경우 1을 뺀다. 연산의 결과가 0이 될때까지 반복해서 수행했을 때 수행된 연산 횟수 N을 구하는 함수를 작성하세요. [입력] 2진수가 표현된 String S [출력] 결과가 0이 될때까지 수행한 연산 횟수 N 매개변수 : String S 리턴타입 : int function solution(S) { var s = S.replace(/(^0+)/, ""); var n = 0; if (s != "" && s.lnegth != 0) { n = 1; n += (s.match(/1/g).length - 1) * 2; n += s.match(/0/g).. 2023. 1. 27.
[Programmers] (2017 팁스타운) Lv 2. 짝지어 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/12973?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(s) { const stack = []; for(let i = 0 ; i < s.length ; i++ ) (!stack.length || stack[stack.length - 1] !== s[i]) ? stack.push(s[i]) : stack.pop(); return stack.length ? 0 : 1; } GitHub :.. 2023. 1. 26.
[JavaScript] Chapter 35. 일반 함수 vs 익명 함수 자바스크립트는 유연한 언어이다. 따라서 다른 일반적인 언어(Java, C)와 다르게, 함수를 선언하고 사용하는데 있어 굉장한 자유로움이 주어진다. 이는 능숙한 사람에게는 굉장한 이점으로 주어질 수 있지만, 미숙한 사람에게는 넘어야 할 허들이 되기도 한다. 자바스크립트에서 함수 선언 방식은 기본적으로 일반 함수와 익명 함수로 나눌 수 있다. 1. 일반 함수 일반적으로 다른 언어에서 사용하는 함수와 동일하다. 사용방식 또한 동일하며, 코드를 조금이라도 읽을 수 있는 사람이라면 매우 쉽게 이해할 수 있는 함수이다. 일반 함수는 다른 말로 함수 선언식이라고도 할 수 있다. function 함수명(){ 함수 로직 } // 예시 function SayHello(){ console.log("hello!"); } Sa.. 2023. 1. 26.
[LeetCode] (Design) Lv Easy. Shuffle an Array https://leetcode.com/explore/interview/card/top-interview-questions-easy/98/design/670/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com /** * @param {number[]} nums */ var Solution = function(nums) { this.original = [.... 2023. 1. 25.
[Programmers] Lv 2. 다음 큰 숫자 https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n) { const len = n.toString(2).split("1").length - 1; ++n; while (len != n.toString(2).split("1").length - 1) ++n; return n; } GitHub : https://github.com/developeSHG/Algorithm-Baekjoon_Programmers/tree/ma.. 2023. 1. 25.
[Programmers] (Dynamic Programming) Lv 2. 피보나치 수 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n) { let dp = [0, 1, 1]; for (let i = 3; i 2023. 1. 25.
[Programmers] Lv 2. 숫자의 표현 https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n) { let answer = 0; for (let i = 1; i 2023. 1. 25.
[Programmers] (월간 코드 챌린지 시즌1) Lv 2. 이진 변환 반복하기 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(s) { let convert = 0, erase = 0; while (s !== "1") { erase += s.split("0").length - 1; s = s.replace(/0/g, ""); ++convert; s = s.length.toString(2); } return [convert, erase]; } GitHub : https://github.com.. 2023. 1. 24.
[Programmers] (스택/큐) Lv 2. 올바른 괄호 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(s) { let res = 0; for (let e of s) { e === "(" ? ++res : --res; if (res < 0) return false; } return !res; } GitHub : https://github.com/developeSHG/Algorithm-Baekjoon_Programmers/tree/main/%ED%94%84%EB%A1%.. 2023. 1. 24.