프로그래머스 포켓몬 문제이다. 문제 자체에 조건이 모두 그냥 풀으라고 준 조건이였다. 따로 내가 확인할 것도 없이 그냥 풀기 쉽게 조건을 내준거 같았다.배열의 N/2만큼 최대로 선택할 수 있고 항상 짝수기 때문에 그냥 /2하면 된다.선택 가능한 수의 최댓값을 구하는 문
좀 쉬웠던 문제였다. 처음에는 그냥 배열의 index값을 값으로 쓰려고 했으나 문제의 key-value가 보여서 map으로 풀어봤다. 하지만 다른 풀이들을 보니까 다들 그냥 index로 풀었더라 ㅜㅜ 그래도 일단 나의 문제 풀이로 올려본다.그리고 카카오 문제라서 카카오
카카오 신입 정규채용 1번 문제였다. 정답률은 57프로였고 해설지에 따르면 몸풀기 문제라고 한다 ㅎㅎ... 난 이문제만 풀었을듯^^ 근데 정말 쉽다는게 느껴지는게 정규식와 조건식으로만 다 풀려버리긴 했다. 평소 정규식에 대해 이해도가 높으신 분이면 정말 쉬웠을 듯! 그
문제를 푸는데 선형탐색과 이진탐색을 사용함에 있어서 선형탐색 장점 모두 탐색 정렬되어 있지 않아도 됨 단점 오래걸림 이진탐색 장점 빠름 단점 정렬되어 있어야함 그래서 내가 풀었던 문제에서 이진 탐색을 사용하면 안됐던 이유는 내가 값을 -1로 변경해서 재정렬을 하
문제 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수
문제 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을
문제 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5
문제 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solutio
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의
문제 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제
문제 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]b[0] + a[1]b[1] + ... + a[n-1]*b[n-1] 입니다. (n은
문제 제한사항 lottos는 길이 6인 정수 배열입니다. lottos의 모든 원소는 0 이상 45 이하인 정수입니다. 0은 알아볼 수 없는 숫자를 의미합니다. 0을 제외한 다른 숫자들은 lottos에 2개 이상 담겨있지 않습니다. lottos의 원소들은 정렬되
탐색은 선형탐색(Linear Search)과 이진탐색이 있는데 그 중 이진 탐색이다. 장점 빠름 단점 입력되는 배열이 정렬이 되어있어야함! (되게 중요) 이진 탐색은 정렬되어 있는 배열을 탐색하기 좋은 탐색 방법으로 정렬을 할수 없는 문제의 경우 선형 탐색으로
문제 문제의 내용이 너무 길고 복잡한 관계로 링크로 대체하겠다. 프로그래머스 크레인 인형봅끼 문제 바로가기 풀이 1단계 문제라 쉬운편이지만 Stack의 개념을 아주 잘 이해할 수 있는 문제였다. 처음에는 List로 Stack을 담아둘 생각을 하지 못해서 무식하게
문제 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.1 ≤ left ≤ right ≤ 1,
슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다.이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.n은 1 이상 100,000,000 이하인 자연수입니다.문제에서는 10진법의 수를 3진법으로 변환한 뒤
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.numbers의 길이는 2 이상 100 이하입니다.
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,F
문제 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가
문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "
문제 카카오톡에 뜬 네 번째 별! 심심할 땐? 카카오톡 게임별~ 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지
배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.arr은 자연수를 담은 배열입니
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 "sun", "bed", "car"이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로
문제 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한사항 n은 2이상 1000000이하의 자연수입니다. 입출력 예
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.문자열 전체의 짝/홀수 인덱스가 아니
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.n은 1이상 8000000000 이하인 자연수입니다.java의 sort와 C
문제 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 1
두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작
문제 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1
문제 링크key value 유형이 보이길래 hash를 사용하여 풀이했다. 문제 중 가장 골머리를 앓았던 부분이 어떻게 2개씩 쪼개서 더해갈까? 였는데 그냥 결국 다 더하는거여서 다 더하면 된다... 이 부분이 제일 어려웠고 제일 어이 없게 풀이됐다...생각보다 어렵지
문제링크문제 자체 제한시간도 2초였고 입력값이 크지 않아 2중 for문으로 풀이했고 O(n log n)의 시간복잡도로 풀어낼 수 있도록 최대한 시간을 줄이도록 했다.쉽게 풀었지만 그나마 애먹었던 부분은 char가 비었을 땐 0으로 체크한다는 부분이였다.
문제링크이것도 어려운 문제는 아니였고 생각을 좀 전환하면 금방 풀리는 문제였다. 입력된 수를 3으로 먼저 다 덜어낸 후 5로 나눠 떨어지는 수가 되면 바로 나눠서 내보내고 그렇지 않다면 계속 3씩 덜어내다가 0보다 작아졌을 경우 -1를 반환하면되는 문제였다.
문제 링크 브론즈에서 dfs 문제라 재밌게 풀었는데, 풀고나서 다른 풀이들을 찾아보니 다들 그냥 반복문으로 풀더라... 굳이 이렇게까지 풀 필요는 없지만 그래도 오랜만에 dfs로 문제를 풀어서 기분은 좋았다. 그리고 좀 많이 더럽게 풀긴한거 같다.
문제 링크Arrays.asList(T).indexOf(value) 로 풀이하려 했으나 int value는 잘 못찾아서... for문을 돌려서 해결함. indexOf가 String만 찾는건가 잘 모르겠음ㅜㅜ다른 글을 찾아보니 int 배열은 안되고 Integer 배열로 만