프로그래머스 알고리즘 연습문제 중 가운데 글자 가져오기 에 사용할만한 기능들을 정리해보았다.String charAt, length, substring
인수로 전달한 숫자만큼 반복해 연결한 새로운 문자열을 반환한다. count가 0이면 빈 문자열을 반환,음수이면 RangeError 발생값이 소수점일 때 정수 부분만 인식하여 적용
어렵게 생각할 필요없이 몫과 나머지를 구해 숫자를 분리해낼 수 있다는 것을 알게되었다. 알고리즘 문제를 접했을 떄 내가 모르는 기능과 함수를 찾으려 하기 전에 가장 단순한 방식으로 구현할 수 있는 방법을 찾은 후 효율성을 개선해 나가는 것이 좋겠다.// 연산자 : 나누
알람시계가 45분보다 작은 수로 설정되어 있는 경우 시간을 '분' 단위를 45분 앞당기기 위해서 '시' 단위도 차감해야 함을 고려한다. if문을 사용하여 '분' 단위가 45보다 작은 경우 시간을 조정해주었다. 시간은 24시간을 기준으로 하기 때문에 0시에서 시간을 차감
더하기 사이클 정답 1, 오답 2
입력받은 배열은 반복문을 돌리기 위해 리스트로 저장한다.sum(num_list1:) : 배열의 0번째 인덱스 값에 위치한 수는 점수가 아닌 학생 수를 의미한다. 그 수를 제외하고 1번째 값부터 마지막 값까지를 더한 합을 구한다.점수 합을 학생 수로 나누어 평균을 구한다
미끄러져도 해가 뜨면 다시 올라가는 달팽이를 응원하게 된다.
set()을 이용해 집합 자료형을 만들었다. > 리스트가 아닌 집합 자료형을 사용한 이유
BOJ 1874번 스택 수열 입력 값 중 첫번째 값(n)을 제외한 나머지 숫자로 구성된 수열을 1부터 n까지 오름차순으로 주어지는 정수들을 이용하여 완성해야 한다.
문제 바로가기크로아티아 알파벳을 배열에 저장한 뒤 for문을 돌려 입력 값 내 포함여부를 확인하였다.replace()를 이용하여 크로아티아 알파벳이 포함되어 있으면 임의의 알파벳인 a로 변경해주었다.문제에서 요구하는 출력값은 알파벳의 개수이므로 치환하는 값 자체에 담긴
삼각형 내에서 이동한 경로의 숫자들을 더한 값이 최대가 될 때 그 수를 출력해야 한다.
그리디알고리즘 대표 문제
각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값
함수를 사용하지 않고 푼 버전(그러나 시간초과..)과 함수를 사용하여 정답으로 인정된 코드를 첨부한다.
DP기법 중 하나인 메모이제이션을 통해 재귀함수의 단점인 중복 연산을 방지하고 효율을 높여야한다.
DFS와 BFS로 구현하고 방문한 순서를 출력정점의 개수가 1,000개 이하이고 시간복잡도를 우선시하기 위해 2차원 배열을 만들 것이다.
🚀문제 바로가기 한 단어를 이루고 있는 알파벳들이 모두 연속적으로 위치하고 있어야 그룹문자라고 할 수 있다.
🚀문제 바로가기문제에서 요구하는대로 봉지의 개수를 줄이기 위해서는 5kg 가방의 개수를 최대한 늘려야한다.N을 5로 나눈 뒤 나머지가 3의 배수가 아닌 경우 몫을 하나씩 줄여가며 값을 구한다.
🚀문제 바로가기 소수를 구하고 n보다 크고 2n보다 같거나 작은 범위를 추려 개수를 출력한다.
🚀문제 바로가기 666이 포함된 수 중 n번째 수를 출력해야 한다. 브루트포스 알고리즘 문제이다.
🚀문제 바로가기
JavaScript 알고리즘 문제풀이 입출력 방식 1. readline 모듈 1-1. 한 줄 입력 1-2. 여러 줄 입력 2. fs 모듈 시스템에 따라 stdin의 경로가 다를수도 있기에 주의가 필요함. 속도가 더 빠르나 보편적으로 사용하기 어려울 수 있음.
자바스크립트로 알고리즘 문제풀이 문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다
자바스크립트로 알고리즘 문제풀이 문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아
흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1
자바스크립트로 알고리즘 문제풀이 문제 ... 바로 "45분 일찍 알람 설정하기"이다. ... 입력 첫째 줄에 두 정수 H와 M이 주어진다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 현재 상근이가 설정한 놓은 알람 시간 H시 M분을 의미한다.
N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.출력형식과 같게 N1부터 N9까지 출력한다.for문 기본 예제로 자주 나오는 구구단
입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.
문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하
🚀문제 바로가기 접근방식 '개념은 알겠는데 그래서 어떻게 적용해야 하는거지..?' 싶던 흐릿함이 문제를 풀수록 선명해지고 있다. 동적계획법, 다이나믹프로그래밍 DP 다이나믹프로그래밍은 이전 계산 결과를 저장하여 계산량을 줄여준다. 1부터 N까지 N번의 연산을
문제 바로가기 문제 요건 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 ...
문제 바로가기 문제 요약 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 예를 들어서
해시문제답게 의상의 종류를 key값으로, 의상 수를 value로 하여 key-value 형태의 objec
문제 바로가기 문제요약 게임 참가자 수 N, 참가자 번호 A, 경쟁자 번호 B가 함수 solution의 매개변수로 주어질 때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 번째 라운드에서 만나는지 return 하는 solution 함수를 완성해 주세요. 단, A번 참가자와 B번 참가자는 서로 붙게 되기 전까지 항상 이긴다고 가...
재귀함수 재귀(Recursion): 어떠한 것을 정의할 때 자기 자신을 참조하는 것을 뜻한다. 재귀함수란 종료조건이 참이 될때까지 스스로를 계속 호출시켜 반복하는 함수 for문이나 while문 등의 반복문으로도 대체가 가능한 개념이다. 재귀함수는 메모리를 많이 차지하기
브루트 포스는 완전탐색 알고리즘이다. 가능한 모든 경우의 수를 탐색하며 해를 찾아낸다. 시간, 메모리 사용량면에서 비효율적이다. 왜, 언제 사용하게 되는걸까?
어떤 문제를 해결할 때 정렬 여부가 큰 영향을 미치는 경우가 있다.
Bubble Sort 개념 >두 개의 인접한 자료 값을 비교하면서 위치를 교환하는 방식으로 정렬하는 알고리즘 정렬 과정이 버블이 올라오는 듯하여 이러한 이름이 붙여졌다. 과정 인접한 두 원소를 비교하여 조건에 맞지 않으면 자리를 교환한다. 전체 원소 비교를 1회
Selection Sort 개념 >배열 안에서 가장 작은 수(혹은 가장 큰 수)를 찾아 첫 번째 위치(혹은 가장 마지막 위치)의 수와 교환해주는 방식의 정렬 선택 정렬은 교환 횟수를 최소화하는 반면 각 자료를 비교하는 횟수는 증가한다. 과정 숫자들 중에서 가장
2번째 원소부터 시작하여 그 앞(왼쪽)의 원소들과 비교하여 삽입하는 삽입 위치 뒤에 위치한 원소들은 자리가 밀린다.Selection Sort와 유사하지만, 좀 더 효율적인 정렬 알고리즘늘 왼쪽 원소와 비교하게 되므로 두 번째 위치부터 탐색을 시작함.비교 대상의 왼쪽에
채팅방 안에서 변경 또는 재입장 시 닉네임이 변경되었다면 기존에 출력된 입장, 퇴장문의 닉네임에도 소급 적용해야하는 문제이다.
Write a function that takes as its input a string and returns an array of arrays as shown below sorted in descending order by frequency and then by as
문제 Modify the String prototype to add a new method isAnagram. isAnagram takes a single string argument. It returns true if that string is an anagra
문제 https://programmers.co.kr/learn/courses/30/lessons/42842?language=javascript 접근 yellow칸 개수와 brown칸 개수의 관계 // yellow의 가로 길이 * 2 = 모서리를 제외한 상하 brown
문제 https://programmers.co.kr/learn/courses/30/lessons/12981 접근 n명의 사람이 순서대로 영어 끝말잇기를 진행한 과정이 words배열에 담겨 전달된다. 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇 번째 차례에 탈락하는 지를 반환해야 하는 문제 끝말잇기 탈락자가 발생하는 경우는 크게 두 가지이다....
이진수의 문자열이 입력되면0을 제거하고남은 1의 개수를 기준으로 이진수로 다시 변환한다.이진수로 변환된 수가 1이 될 때까지 반복한다.변환된 수가 1이 되면 반복 횟수와 제거된 0의 개수를 반환한다. replaceAll 메소드를 이용하여 문자열 내에 0을 삭제하려 했는
스택 / 큐