본문 바로가기
728x90
반응형

programmers41

[프로그래머스] level 2 괄호 변환 (자바스크립트) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨‍💻 문제 정답 코드 답안 1 답안 2 문제 풀이 문제에 제시된 조건을 차근차근 구현하면 되는 문제이다. 매개변수 p의 길이가 0이 되는 순간 재귀를 종료하면 된다. 그 외에 중요한 개념이 있다면 짝이 맞는 괄호인지 찾는 공식이다. 열린 괄호의 개수가 0인 상황에서 닫힌 괄호부터 나온다면 더 따져볼 것도 없이 짝이 맞지 않는 괄호이므로 false를 반환한다. 2023. 1. 17.
[프로그래머스] level 1 체육복(파이썬 python) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42862?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 나의 풀이(오답) def mySolution(n, lost, reserve): uniformCnt = [1] * n for i in reserve: uniformCnt[i - 1] += 1 for i in lost: uniformCnt[i - 1] -= 1 answer = 0 # 현재 탐색값이 맨 앞이거나 맨 뒤일 경우, 그리고 앞뒤 학생을 모두 확인.. 2022. 12. 4.
[Programmers] level 1: 최대공약수와 최대공배수 by JavaScript 이번 문제는 아래 포스팅을 참고하여 작성하였습니다. Lulu 님의 포스팅 JavaScript로 최대공약수(GCD), 최소공배수(LCM) 구하기 최대공약수는 두 수 A와 B의 공통된 약수 중에 가장 큰 정수이다.최대공약수를 구하는 가장 쉬운 방법은 2부터 min(A, B)까지 모든 정수로 나누어보는 방법이다.두 수, 혹은 그 이상의 여러 수의 공 velog.io 이번 문제는 유클리드 호제법이나 반복문을 통해 풀 수 있다. 먼저 반복문을 활용하여 최대공약수 및 최소공배수를 구하는 법부터 설명하겠다. 반복문으로 최대공약수를 구하는 가장 쉬운 방법은 2부터 min(n, m)까지 모든 정수로 n과 m을 나눠보는 방식이다. 이렇게 나눴을 때 n과 m 모두 나눠 떨어지는 수가 바로 최대공약수이다. 최소공배수는 whi.. 2022. 7. 10.
[Programmers] level 1: 시저 암호 by JavaScript 이번 글을 작성하는 데 아래 링크의 포스팅을 참고하였습니다. 째마리 님의 포스팅 [프로그래머스] level1. 시저 암호 (javascript) 문제 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만 zzemal.tistory.com 이번 문제를 풀어 보고 싶다면? 아래 링크를 클릭하세요! ☞ 문제 풀러 가기! 이번 문제는 아스키(ASCII)를 연습하는 데 도움이 된다고 생각한다. 처음에 문제를 풀 때는 charCodeAt() 메서드를 활용하여 문제 푸는 데 활용할 인덱스를 반환하는 것까지는 성공적으로 해냈으나 조건문을 제대로 작성하지 못해 결국 다.. 2022. 7. 10.
[Programmers] level 1: 문자열을 정수로 바꾸기 by JavaScript 이번 문제를 풀어 보고 싶다면? 아래 링크를 클릭하세요! ☞ 문제 풀러 가기! 문제를 다 풀고 나서 다른 사람들의 풀이를 찾아보니 내가 너무 복잡하게 생각한 듯싶다. 우선 내 해답을 설명하자면 주어진 문자열의 맨 처음 값이 '-'일 경우 음수이므로 인덱스 1부터의 값에 -1을 곱하여 반환한다. 아니라면 단항 더하기(+) 연산자를 통해 문자열을 숫자로 변환하여 반환한다. 이처럼 if문을 거치지 않고 단항 더하기만 앞에 붙여서 반환해도 테스트 케이스를 모두 통과할 수 있다. 단항 더하기는 피연산자가 숫자가 아닐 경우 숫자로 변환을 시도하는 연산자이기 때문이다. 이에 대한 자세한 사항은 아래 함께 보기의 링크를 참조하길 바란다. Solutions function solution(s) { /* My Soluti.. 2022. 7. 10.
[Programmers] level 1: 수박수박수박수박수박수 by JavaScript 이번 문제를 풀어 보고 싶다면? 아래 링크를 클릭하세요! ☞ 문제 풀러 가기! 나의 경우 for 반복문을 1부터 n까지 돌면서 홀수 자리에는 정답 문자열에 '수'를 더하고, 짝수 자리에는 '박'을 더하는 식으로 풀었다. 다른 사람의 풀이를 참고했더니 reapeat()와 substring() 메서드를 통해서도 풀 수 있었다. reapeat() 메서드는 매개변수로 주어진 숫자만큼 참조 문자열을 반복한다. 예를 들어 매개변수로 3이 주어진다면 문자열은 '수박수박수박'과 같이 되어 여기서 substring() 메서드로 인덱스 0부터 n - 1까지의 숫자를 잘라내어 반환하는 것이다. Solutions function solution(n) { /* My Solution */ let answer = ''; for (.. 2022. 7. 10.
[Programmers] level 1: 소수 찾기 by JavaScript 이번 글을 작성하는 데 아래 포스팅들을 참고하였습니다. 개발꿈나무 님의 포스팅 JavaScript__에라토스테네스의 체 구현 - 개발꿈나무의 개발로그 소수 구하기 (에라토스테네스의 체) 자바스크립트로 소수 구하기 문제를 풀던 도중, 처음 제출했던 코드가 속도가 느려서 통과하지 못했다. 어떻게 풀어나가야 할지 찾아보다가 에라토스테네스 junkim.netlify.app 기록의 힘 님의 포스팅 [JavaScript] 자바스크립트 소수 판별하기(feat. 반복문, 에라토스네테스의 체) 🎯 자바스크립트 소수 구하기 자바스크립트에서 소수 구하는 방법을 알아보자. 📝 반복문 while문 사용 function isPrime(m) { let divisor = 2; while (n > divisor) { // n이 나누는.. 2022. 7. 10.
[Programmers] level 1: 서울에서 김서방 찾기 by JavaScript 이번 문제를 풀어 보고 싶다면? 아래 링크를 클릭하세요! ☞ 문제 풀러 가기! 이번 문제는 findIndex()나 indexOf()와 같은 내장 메서드를 활용하면 쉽게 해결할 수 있다. findIndex()와 indexOf()는 배열 혹은 문자열에서 주어진 조건에 해당되는 가장 첫 값의 인덱스를 반환하고, 조건에 맞는 값이 없다면 -1을 반환한다는 점에서는 동일하나, findIndex()의 경우 판별함수를 매개변수로 받고, indexOf()의 경우 문자열을 매개변수로 받는다. 따라서 findIndex()의 경우 조건식을 활용하여 보다 다채롭게 값을 찾아낼 수 있다. 또 다른 해답으로는 forEach(혹은 for 반복문)을 활용하여 배열 내 'Kim'에 해당하는 요소의 인덱스를 찾아내어 반환하는 방법이다... 2022. 7. 9.
[Programmers] level 1: 문자열 다루기 기본 by JavaScript 이번 문제를 풀어 보고 싶다면? 아래 링크를 클릭하세요! ☞ 문제 풀러 가기! 나의 경우 이번 문제를 풀 때 조건 한 줄 한 줄에 충실하여 작성하였다. 우선 answer의 기본값을 true로 설정하고 if문을 거치면서 주어진 문자열이 조건에 충족하는지 여부를 판별한다. 조건을 모두 충족한다면 true를 반환하고 아니라면 그 시점에서 즉시 false를 반환하게끔 작성하였다. 문자열 중에 숫자 이외의 문자가 포함되어 있는지 여부는 isNaN() 메서드를 활용해 구현하였다. isNaN()은 매개변수로 입력된 문자의 자료형이 number가 아니라면 true를 반환한다. 나머지 해답은 정규 표현식을 활용하여 답을 구한 다른 사람들의 코드를 참고하였다. 두 번째 Solution에 적힌 regex를 설명하자면, 시작.. 2022. 7. 9.
728x90
반응형