얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인
코딩테스트 .. 공부 잘안하니까 다 까먹었다.. 다시 처음부터 해야할듯문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.s의 길이는 1 이상 5이하입니다.s의 맨앞에는 부호(+, -)가 올 수 있습니다.s는 부호와 숫자로만 이루어져있습니다.
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.n은 0 이상 3000 이하인 정수입니다.처음에는 1부터 n까지 순회하며 약수를 찾는 방식으로 접근했다.약수는 항상 쌍으로 존재한다.약수 쌍에서 작은 쪽은 반드시 √n 이하에
자리수 구하는 방법도 여러가지네 , 1번 방식으로 풀었는데 2가지 방식이 더있어서 2개 방식으로도 풀어봤다.자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.제한사항N의 범위 : 100,000,000 이하의 자
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하는 문제임.제한 조건n은 10,000,000,000 이하인 자연수숫자를 문자열로 변환한 뒤 toCharArray()로 char 배열을 만들고, index를 뒤에서부터 순회하면서 int 배열에 담는 방식
long 타입의 숫자를 받아서 각 자릿수를 내림차순으로 정렬한 후 반환예시'0'(48) ~ '9'(57) ASCII 값이 순서대로 증가하기 때문에char 타입 그대로 비교해도 숫자 크기 순서와 동일int\[]는 Comparator를 사용할 수 없으므로 Integer\[
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단합니다.n이 양의 정수 x의 제곱이라면 (x+1)² 리턴n이 양의 정수 x의 제곱이 아니라면 -1 리턴Math.sqrt(n) 으로 제곱근을 구한다제곱근이 정수인지 확인한다정수라면 (x+1)²
프로그래머스 입문 문제 3개 풀이 정리정수 num이 짝수면 "Even", 홀수면 "Odd" 반환삼항 연산자로 if/else를 한 줄로 줄일 수 있다프로그래머스 기본 템플릿에 answer 변수가 있어서 그대로 활용했는데, 변수 없이 return num % 2 == 0 ?
프로그래머스 Java 풀이 기록정수 x와 자연수 n을 입력받아, x부터 시작해 x씩 증가하는 숫자를 n개 담은 배열을 리턴한다.제한 조건\-10,000,000 ≤ x ≤ 10,000,000n ≤ 1,000입출력 예"x씩 증가"를 덧셈으로 표현하는 것이 핵심이다.반복문을
두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴a와 b가 같은 경우는 둘 중 아무 수나 리턴a와 b는 -10,000,000 이상 10,000,000 이하인 정수a와 b의 대소관계는 정해져있지 않음등차수열 합 공식a, b 사이의 정수 합이니까
배열 arr의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환.해당하는 값이 없으면 -1 반환.new int\[]{-1} : 크기와 초기값을 동시에 선언할 때 크기 생략int\[]도 Arrays.sort() 사용 가능 → 불필
1937년 Collatz가 제기한 추측으로, 주어진 수가 1이 될 때까지 아래 작업을 반복하면 모든 수를 1로 만들 수 있다는 추측이다.짝수라면 → n / 2홀수라면 → 3n + 1작업을 몇 번 반복해야 1이 되는지 반환하는 함수를 작성한다.예시제한 조건주어진 수가 1
정수 배열 arr에서 가장 작은 수를 제거한 배열을 리턴한다.단, 결과가 빈 배열이면 \[-1]을 리턴한다.예시 입력이 \[10]이라서 arr\[0]==10을 조건에 넣어버렸다.근데 문제가 요구하는 건 값이 10일 때가 아니라 길이가 1일 때 (최솟값 제거 시 빈 배열
길이가 같은 두 배열 a, b의 내적을 구하기.a0b0 + a1b1 + ... + an-1\*bn-1동작은 했다. 근데 리팩토링 포인트가 있었다.0으로 초기화하고 바로 재할당하는 건 의미없는 코드. 선언과 동시에 할당하면 된다.헷갈리기 쉬운 부분.배열 인덱스는 0부터
단어 s의 가운데 글자를 반환하는 함수를 만든다.단어의 길이가 짝수라면 가운데 두 글자를 반환한다.len이라는 변수명을 썼는데, 실제로 담긴 값은 마지막 인덱스 (length - 1)였다.이름은 "길이"인데 실제로는 "인덱스"를 담고 있으니, 나중에 읽으면 헷갈릴 수밖
문자열 s에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수를 구현한다.대문자는 소문자보다 작은 것으로 간주한다.처음엔 char\[]에 바로 Collections.reverseOrder()를 쓰려고 했음.근데 Collections.rever
프로그래머스 - 문자열 다루기 기본확인해야 할 조건이 두 가지인데 하나를 아예 빠뜨렸다.✅ 숫자로만 구성되어 있는가❌ 길이가 4 혹은 6인가 → 처음 코드에 없었음💡 간단해 보이는 문제일수록 조건을 빠뜨리기 쉽다.코드 작성 전에 체크해야 할 조건을 먼저 리스트업하고
left부터 right까지의 수 중, 약수의 개수가 짝수이면 더하고 홀수이면 빼서 반환하는 문제.약수는 쌍으로 존재하기 때문에 보통 짝수개다.예) 12의 약수: (1, 12), (2, 6), (3, 4) → 6개그럼 홀수개가 되는 경우는 언제일까?바로 완전제곱수일 때다
놀이기구를 N번째 이용하면 요금은 price \* Ncount번 탔을 때 총 요금에서 money가 얼마나 부족한지 반환부족하지 않으면 0 반환totalprice를 int로 선언했다.제한사항에서 price와 count는 최대 2500이다.루프 안에서 price \* i를

행과 열의 크기가 같은 두 행렬 arr1, arr2를 입력받아 행렬 덧셈 결과를 반환하는 문제.int\[]\[] answer = {}로 선언하면 빈 배열이라 결과를 담을 공간이 없다.2차원 배열은 행 크기, 열 크기를 지정해서 초기화해야 한다.j < arr2.le
두 수를 입력받아 최대공약수와 최소공배수를 배열로 반환하는 문제. (n, m은 1 ≤ x ≤ 1,000,000)주어진 예제(3,12 / 2,5)는 통과하지만 두 가지를 놓치고 있었다.n, m이 자연수(1 이상)이기 때문에 m%n은 항상 0 이상이다. 즉 이 while
https://school.programmers.co.kr/learn/courses/30/lessons/147355숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작
https://school.programmers.co.kr/learn/courses/30/lessons/12982부서별로 신청한 금액 배열 d와 예산 budget이 주어질 때, 최대한 많은 부서에 물품을 지원하려면 몇 개 부서까지 지원 가능한지 구하기.d의 길
프로그래머스 131705 - 삼총사학생들의 정수 번호가 담긴 배열이 주어질 때, 그 중 3명을 뽑아 번호의 합이 0이 되는 조합의 개수를 구하는 문제. (Level 1)3명을 뽑는다는 것 자체를 코드로 어떻게 표현해야 할지가 안 잡혔다. 처음엔 인덱스를 그냥 0, 1,
https://school.programmers.co.kr/learn/courses/30/lessons/68935자연수 n을 3진법으로 바꾼 뒤, 자릿수를 앞뒤로 뒤집고, 다시 10진법으로 표현한 값을 구하는 문제.n = 45 → 3진법 "1200" → 뒤집으
https://school.programmers.co.kr/learn/courses/30/lessons/12926문자열 s의 각 알파벳을 n만큼 밀어서 암호문을 만드는 문제. 공백은 그대로 두고, z를 밀면 a로 순환한다는 조건이 포인트다.s는 알파벳 대/소문
68644\. 두 개 뽑아서 더하기정수 배열 numbers가 주어질 때, 서로 다른 인덱스에 있는 두 수를 뽑아 더해서 만들 수 있는 모든 값을 중복 없이 오름차순으로 반환한다.numbers 길이: 2 이상 100 이하numbers의 모든 수: 0 이상 100 이하처음
문제 링크food\[i]는 i번 음식의 개수, food\[0]은 항상 1(물)각 음식을 절반씩 나눠서 칼로리 낮은 순서대로 왼쪽에 배치, 중앙에 물, 오른쪽은 대칭으로 배치홀수 개의 음식은 1개를 못 쓰고 버려짐일단 정답은 맞았지만, 다시 보니 문제가 몇 개 보였다.홀
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42748배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구한다. commands의 각 원소는 \[i
프로그래머스 - 숫자 문자열과 영단어숫자의 일부 자릿수가 영단어(zero~nine)로 바뀐 문자열 s가 주어질 때, 원래 숫자를 구하는 문제.s는 "zero" 또는 "0"으로 시작하지 않음결과값은 1 ~ 2,000,000,000 사이의 정수주어진 예시 4개는 모두 통과
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/132267빈 병 a개를 가져다주면 콜라 b병을 주는 마트가 있을 때, 빈 병 n개로 총 몇 병의 콜라를 받을 수 있는지 구하는 문제.예제 두
\\문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/138477매일 가수 한 명이 노래를 부르고 점수를 받는다. k일까지는 모든 점수가 "명예의 전당"에 오르고, 그 이후로는 새 점수가 기존
프로그래머스 - 카드 뭉치 (Lv.1)cards1, cards2 두 뭉치에서 순서를 바꾸지 않고 앞에서부터만 카드를 꺼내서 goal 배열을 만들 수 있는지 판단하는 문제임처음엔 배열이 두 개니까 하나 뽑으면 다음엔 다른 배열에서 뽑아야 한다고 생각함. 근데 예시를 손으
프로그래머스 - 부족한 금액 계산하기 (Lv.1)놀이기구 이용료가 price, 처음 가진 금액이 money, 이용 횟수가 count일 때 총 필요한 금액에서 부족한 만큼을 구하는 문제임. 이용할 때마다 요금이 1배, 2배, 3배... 이런 식으로 늘어나는 게 포인트임.
프로그래머스 - 카드 번호 유효성 검사 (Lv.1)문자열 s가 "숫자로만 이루어져 있고" + "길이가 4자리 또는 6자리"인지 판단하는 문제임.처음 코드:\>47 && >57을 나란히 써놨는데, >57을 만족하는 값은 이미 자동으로 >47도 만족함. 즉 이 두 조건을