Programmers 2 레벨 테스트 2
Programmers 2 레벨 테스트 2 문제 배열에 숫자들이 주어진다. 위에 그림처럼 배열은 원형으로 이루어져있다. 배열 안에 있는 연속된 숫자들을 더해서, 더한 숫자들의 개수를 구하는 것 예를 들어 연속된 숫자 하나 : [4], [7], [9], [8] 연속된 숫자 둘 : [8, 4], [4, 7], [7, 9], [9, 8] 연속된 숫자 셋 : [8, 4, 7], [4, 7, 9], [9, 8, 4] 연속된 숫자 넷 : [8, 4, 7, 9] 위의 숫자들을 더하고, 반복된 숫자들을 제거 후, 개수를 세면 된다 문제 풀이 더한 숫자들은 set()에 넣을 것 그렇게 해야, 반복된 숫자들을 알아서 없앨 수 있다 배열 elements가 주어지는데 elements + elements를 해서, 배열을 두 배로..
2023. 2. 7.
Programmers 2 레벨 테스트 1
Programmers 2 레벨 테스트 1 문제 숫자가 담겨있는 배열이 주어진다. 그 배열 안에 있는 숫자들을 나열하여, 제일 큰 숫자를 만드는 것이다. [6, 20, 4] 가 있다면 6420을 출력하는 것 각 숫자는 1부터 1000까지의 숫자다. 즉 999가 제일 큰 숫자. 문제 풀이 배열 안에 있는 숫자들을 문자열로 만든다 그렇게 하면 숫자의 제일 앞 자리 숫자를 기준으로 순차적으로 배열을 해준다 각 문자열을 4번을 반복시키고, 그 중 4자리를 가지고 온다. 4자리는 1부터 10000까지의 숫자가 주어져서 최대 4자리가 되는 것 4번 반복하는 이유는 (람다를 사용한다) [6, 21, 2, 8] 이 주어졌을 때 먼저 정렬을 하면 [8, 6, 21, 2] 가 된다 제일 크게 만드려면 86221이어야 한다 ..
2023. 2. 7.
Udemy - Javascript - Radix Sort
Udemy - Javascript - Radix Sort 정렬이란? 데이터가 있으면, 데이터를 숫자 또는 단어별로 오름차순 또는 내림차순으로 나열하는 것이다 정렬을 하는 방법은 다양하다. 정렬하는 방법마다, 정렬을 하는 시간은 다르다 버블, 선택, 삽입 정렬들은 숫자가 계속 늘어날 수록, 속도가 느려진다 반대로 합병 정렬, 퀵 정렬, 지수 정렬은 위의 3개보다 더 빠르다 기수 정렬 버블, 선택, 삽입, 합병, 퀵 정렬들은 모두 숫자들끼리 비교를 하면서, 정렬을 하는 것이다 정수만 정렬이 가는하다 자릿수가 더 많은 숫자가, 더 크다 라는 로직을 사용해서 정렬을 한다 4자리 수는 두 자리 수보다 크다 1 2 - 1의 자리 숫자들은 앞에 숫자가 없음으로 0에다가 넣으면 된다 3 - 0을 보면, 0에 들어오는 ..
2023. 2. 4.
Joontooling 프로젝트, Day 1
Joontooling 프로젝트, Day 1 업무 : 회원가입 모델링 Accounts 어플리케이션 만들기 project (settings.py) INSTALLED_APPS = [ 'accounts', 'products', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] AUTH_USER_MODEL = 'accounts.User' 어플리케이션이 아닌 project의 settings.py에서 INSTALLED_APPS에다가 어플리케이션 이름을 넣는다 AUTH_USER_..
2023. 2. 4.