문제 링크 : 프로그래머스 옹알이(2)

문제 링크 : 콜라 문제처음 가져온 n개로 교환 가능한 갯수를 answer에 저장하고, 교환하고 남은 나머지와 교환한 콜라의 병 수를 더한 것(현재 가지고 있는 병 수)을 mod에 저장한다.그 후 현재 가지고 있는 병 수를 가지고 교환 가능한 갯수와, 교환 후 남은 병

문제 링크 : 성격 유형 검사하기내가 자바를 좀 더 잘 다뤘고, 알고리즘에 익숙해져 있다면 훨씬 더 깔끔하게 풀었을 것 같아서 다른 사람의 풀이또한 찾아봤다.나는 문제 유형에 따라서 점수가 저장되는 배열의 인덱스를 따로 구하고, 그 인덱스와 HashMap을 통해 점수를

문제 링크 : 없는 숫자 더하기어려웠던 문제가 아니었던 만큼 풀이 코드도 간단했다.처음에 문제를 봤을 때는 0부터 9까지의 모든 원소를 포함하는 배열을 생성한 후 거기서 numbers의 원소를 하나하나 뺀 후에 모든 값을 더해야 하나? 라고 생각을 했다.그렇게 풀어도

문제 링크 : 링크텍스트문제를 처음 봤을 때 약수의 개수를 어떻게 구하는지에 대해 고민이 있었다.n의 약수를 구한다고 가정하면 일일히 1부터 n까지 나눠봐서 나머지가 0인 숫자의 개수를 구하는 방법, 소인수분해를 해서 지수에 1을 더한 값끼리 곱하는 방법 처음에는 두가

문제 링크 : 신규 아이디 추천코드를 보면 알겠지만, 내 풀이는 문제에서 제시한 조건들을 Java 코드들로 구현한 것이다.이것이 출제자가 의도한 풀이가 맞는지 문제를 풀면서 계속 의심했지만, 다른 방법이 도저히 생각나지 않아서 일단은 풀고, 다른 사람들의 풀이를 참고하

문제 링크 : 완주하지 못한 선수내가 푼 방법은 양 문자열을 정렬한 뒤, 서로 비교해가면서 값이 다른 곳에서 멈춘 후, 반환하는 방식을 선택했다.다른 풀이를 살펴보니 HashMap을 사용해서 푼 방법이 있어서 해당 방법도 공유하고자 한다.

문제 링크 : 소수 만들기완전 탐색으로 배열에서 세 원소를 뽑을 수 있는 모든 경우를 확인하고, 소수인지 판별하는 방식으로 문제를 풀었다.소수 판별은 그 숫자의 제곱근보다 작은 수에서 나누어 떨어지는 수가 없다면 소수로 판별하도록 코드를 작성했다.

문제 링크 : 과일 장수상자의 가격은 상자 안에 들어간 과일의 최소 가치에만 결정되므로, 최소 가치보다 높은 가치를 지닌 과일은 신경쓰지 않아도 된다는 생각으로 코드를 작성했다.먼저 score 배열을 오름차순 정렬한 후, 상자에 들어가는 최소 가치의 과일 - 최대 가치

문제 링크 : 로또의 최고 순위와 최저 순위(https://school.programmers.co.kr/learn/courses/30/lessons/77484num이라는 변수는 로또 번호와 내 번호가 맞은 횟수, zeroNum은 동생이 낙서를 하여 알아볼 수

문제 링크 : 다트 게임조건에 맞게 숫자가 나오면 그 숫자대로 문자열을 변환하고, S, D, T, \*, 처음 시도는 Stack을 사용해서 변환된 숫자들을 저장하고,\* 이나 다른 사람들의 풀이를 살펴보니 prev 변수 하나와 Stack을 사용해서 문제를 푸는 것도 존

문제 링크 : 예산최대한 많은 부서에 예산을 지원해줘야 하므로, 예산 사용량이 적은 부서부터 지원해주면 된다.따라서 부서별 예산 d를 오름차순으로 정렬한다. 그 후 배열의 처음부터 값을 더한 후, 그 값이 매개변수로 전달된 budget의 값보다 크다면, 현재의 인덱스

문제 링크 : 스킬 트리(https://school.programmers.co.kr/learn/courses/30/lessons/49993먼저 정해진 스킬트리인 skill에 주어진 순서대로 0, 1, 2... 를 맵핑해서 skillTree Map에 저장한다.그

문제 링크 : 튜플처음 풀이기존에 반환형인 int\[]형을 ArrayList로 바꿔서 푼 풀이다.tuple의 길이가 동적으로 바뀌어서 그것을 어떻게 담아낼까 고민하다가 일단은 ArrayList로 풀었다.앞뒤의 {{와 }}을 모두 잘라내고, 집합의 구분을 },{에서 /로

문제 링크 : 뉴스 클러스터링자카드 유사도는 집합 간의 유사도를 검사하는 여러 방법 중의 하나로 알려져 있다. 두 집합 A, B 사이의 자카드 유사도 J(A, B)는 두 집합의 교집합 크기를 두 집합의 합집합 크기로 나눈 값으로 정의된다.예를 들어 집합 A = {1,

문제 링크 : 약수의 합정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.n은 0 이상 3000이하인 정수입니다.간단한 문제이다. 1부터 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 = 1F(3) = F(1) + F(2) = 1

문제 링크 : 카펫Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기

문제 링크 : 멀리 뛰기효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는(1칸, 1칸, 1칸, 1칸)(1칸, 2칸, 1칸)(1칸, 1칸, 2칸)(2칸, 1칸, 1칸)(2칸, 2칸)의 5가지

문제 링크 : 하샤드 수양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수,
문제 링크 : 문자열을 정수로 바꾸기문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.s의 길이는 1 이상 5이하입니다.s의 맨앞에는 부호(+, -)가 올 수 있습니다.s는 부호와 숫자로만 이루어져있습니다.s는 "0"으로 시작하지 않습니다.

문제 링크 : 구명보트무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.예를 들어, 사람들의 몸무게가 70kg, 50kg, 80kg, 50kg이고 구명보트의 무게 제한이 100

문제 링크 : 짝지어 제거하기짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다

문제 링크 : 최솟값 만들기길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로

문제 링크 : 같은 숫자는 싫어배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의

문제 링크 : 시저 암호어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와

문제 링크 : 점프와 순간이동OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면

문제 링크 : 타겟 넘버n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 1, 1, 1, 1, 1로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.\-1+1+1+1+1 = 3\+1

문제 링크 : 콜라츠 추측1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다.1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수

문제 링크 : JadenCase 문자열 만들기JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)문자열 s가 주어졌을

문제 링크 : 자연수 뒤집어 배열로 만들기자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 5,4,3,2,1을 리턴합니다.n은 10,000,000,000이하인 자연수입니다.'0' ~ '9' 사이의 char 문자가

문제 링크 : 크기가 작은 부분문자열숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.예를 들