본문 바로가기

programmers-코딩테스트 연습

(65)
2021-06-11 / 정수 제곱근 판별 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 한다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성한다. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 입출력 예 설명 입출력 예#1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. 입출력 예#2 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. 초기 코드 #include #include #include long long solution(long long n) { long long answer = 0; return ..
2021-06-10 / 자릿수 더하기 문제 설명 자연수 n이 주어지면, n의 각 자릿수의 합을 구해서 리턴하는 solution 함수를 완성한다. 예를 들어 n = 123이면 1 + 2+ 3 = 6을 리턴한다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 n answer 123 6 987 24 입출력 예 설명 입출력 예 #1 문제의 예시와 같다. 입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 된다. 초기 코드 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다. System.out.println("Hello Java"); retur..
2021-06-10 / 자연수 뒤집어 배열로 만들기 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴한다. 예를 들어 n이 12345이면 [5, 4, 3, 2, 1]을 리턴한다. 제한 조건 n은 10,000,000,000이하인 자연수이다. 입출력 예 n return 12345 [5, 4, 3, 2, 1] 초기 코드 class Solution { public int[] solution(long n) { int[] answer = {}; return answer; } } 정답 코드 class Solution { public int[] solution(long n) { String str = ""+n; int len = str.length(); int[] answer = new int[len]; for(int i=0; i
2021-06-09 / 이상한 문자 만들기 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있다. 각 단어는 하나 이상의 공백문자로 구분되어 있다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성한다. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s return "try hello world" "TrY HeLlO WoRlD" 입출력 예 설명 "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY",..
2021-06-09 / 약수의 합 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성한다. 제한 사항 n은 0 이상 3000이하인 정수이다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다. 입출력 예 #2 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. 초기 코드 class Solution { public int solution(int n) { int answer = 0; return answer; } } 정답 코드 class Solution { public int solution(int n) { int answer = 0; for(int i=1;i
2021-06-08 / 수박수박수박수박수박수? 문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성한다. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 된다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 2 "수박수박" 초기 코드 class Solution { public String solution(int n) { String answer = ""; return answer; } } 정답 코드 더보기 class Solution { public String solution(int n) { String answer = ""; for(int i=0; i
2021-06-08 / 문자열을 정수로 바꾸기 문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성한다. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 된다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없다. 초기코드 class Solution { public int solution(String s) { int answer = 0; return answer; } } 정답 코드 더보기 class Solution { public int solution(Strin..
2021-06-07 / 문자열 내림차순으로 배치하기 문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성한다. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주한다. 제한 사항 str은 길이 1 이상인 문자열이다. 초기 코드 class Solution { public String solution(String s) { String answer = ""; return answer; } } 정답 코드 더보기 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programme..