본문 바로가기

분류 전체보기

(28)
[프로그래머스] 두개 뽑아서 더하기 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbersresult [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. 6 = 2 + 4 입니다. 7 = 3 + 4 입니..
[프로그래머스] 폰켓몬 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫..
[프로그래머스] 체육복 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를..
[프로그래머스] 완주하지 못한 선수 - 해시 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participantcompletionreturn ["leo", "kiki"..
[프로그래머스] K번째수 - 정렬 코딩테스트 푸는겸, 수업후에 알고리즘 복습한적없으니까 여기다가 작성하려한다. 정렬 종류 선택정렬 삽입정렬 버블 정렬 셸 정렬 병합 정렬 퀵 정렬 히프 정렬 기수 정렬 삽입정렬같은경우 최선의 시간복잡도가 O(n)이지만 평균과 최악이 무려 n^2이나 된다. 삽입과 버블정렬의 경우 그냥 안좋다...언제나 n^2! 셸같은 경우엔 삽입정렬의 상위호환정도로 생각하면 될거같다. 알고리즘 수업을 듣던 때를 생각해보면, 퀵/힙/병합 정렬을 주로 배웠던거같다. 아무래도 성능이 제일 좋은거같다. 걔중에 퀵정렬은 거꾸로 정렬되어있으면 최악의 시간복잡도 n^2를 갖는다는점! 그러면 퀵/힙/병합을 좀더 자세히 적어보도록 하자! 1. 병합정렬 📌방식 • 입력배열을 반으로 나눈다 • 나누어서 생긴 부분배열을 정렬한다. (부분배열이 ..
[프로그래머스] 문제1. 모의고사 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
[졸업프로젝트 개발일지] 안드로이드 심화 - 서버와 협업하는 앱 만들기 졸업프로젝트를 2020년 2학기 - 2021년 1학기, 1년동안 진행하면서 많은것을 배웠다. 앱개발 동아리에서 배운 지식을 기반으로 졸업프로젝트에서 아등바등 구글링하며 개발하는동안 확실히 성장했다고 나는 생각한다!! 특히 기존에는 간단한 안드로이드 앱만 만들 수 있었다면, 졸업프로젝트에서는 서버연결이 필수적이었기 때문에 1)안드로이드앱을 서버와 연결하는 법 2)서버로 단순한 로그인정보를 주고받는 방법 3)동영상과 같은 멀티미디어 파일 주고받는 방법, 이렇게 총3가지를 배웠다. 서버를 구동한 안드로이드 앱 자체를 만들어본 적이 없는데 단순한 이미지도 아니고 동영상을 보내고 받는것을 구현하느라 사실 수많은 버그들과 싸웠었다 ㅎㅎ... 이 블로그 글을 읽는 분들을 그런 시행착오를 간편하게 뛰어넘길 바라는 마음..
졸업프로젝트 스타트13팀 안드로이드 구현 & 학습 이전에 올렸던 내 블로그글 *졸업프로젝트 MagicBox에서 내가 한 활동들 관련 정보글을 작성함* *1)figma로 ui짜기 2)서버 연결 제외 전체적인 MagicBox 기능 거의 완성* csepotato.tistory.com/2