본문 바로가기

코딩테스트 연습32

Progammers 두 개 뽑아서 더하기 Level 1 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/68644?language=java 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 문제 해석 및 풀이 방법 1. 반복문을 통해 numbers의 모든 서로 다른 인덱스를 더한다 2. 컬렉션 정렬을 써서 정렬시킨다. 3. answer을 반환한다. 내가 작성한 소스코드(Java) import java.util.Collection.. 2021. 9. 4.
Programmers 2개 이하로 다른 비트 Level 2 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/77885?language=java 양의 정수 x에 대한 함수 f(x)를 다음과 같이 정의합니다. x보다 크고 x와 비트가 1~2개 다른 수들 중에서 제일 작은 수 예를 들어, f(2) = 3 입니다. 다음 표와 같이 2보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 3이기 때문입니다. 수비트다른 비트의 개수 2 000...0010 3 000...0011 1 f(7) = 11 입니다. 다음 표와 같이 7보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 11이기 때문입니다. 수비트다른 비트의 개수 7 000...0111 8 000...1000 4 9 000... 2021. 9. 3.
Programmers 시저암호 Level 1 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/12926?language=java 문제 설명어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요.제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 문제 해석 및 풀이 방법 1. 대문자일때 소문자일 .. 2021. 9. 1.
Programmers 내적 Level 1 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/70128?language=java 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 문제 해석 및 풀이 방법 1. 반복문을 이용하여 a와 b의 동일한 인덱스의 값을 곱하여 더해준다. 내가 작성한 소스코드(Java) class Solution { public.. 2021. 8. 31.