문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 특정 문자만 N번 반복하는 것이 아닌 모든 문자를 N번 반복하는 것이었기때문에 조건문 없이 이중 for문을 돌리면 되는 문제였다. public class repeat_string { public static String solution(String my_string, int n) { String answer = ""; for (int i = 0; i < my_string.length(); i++) { for (int j = 0; j < n; j++) { //System.out.print(my_string.charAt(i)); ..
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. 암호해독과 마찬가지로 하나의 문자에 다른 문자가 대응되는 문제이다. 입력받는 숫자에 따라 "문자"를 구성하여 리턴하면 되었다. solution()함수 외로 planet() 함수를 만들어 그 안에 switch-case문으로 대응되는 문자를 작성하고 필요시마다 함수를 ..
덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요. String타입으로 주어진 배열 안의 식을 연산하는 문제이다. 먼저 인덱스 별로 "인자1 (연산자) 인자2 부등호 결과값"이 주어진다. 실제 데이터로 표현하면 "3 - 4 = - 3" 이다. 이 데이터를 토큰별로 떼어내어 저장함과 동시에 이 수식이 맞는지 아닌지의 진위여부 또한 파악해야하는 문제이다. 먼저 3 - 4 = - 3처럼 띄어쓰기 포함해서 주어진 데이터를 저장할 수 있어야했다. String[] answer = new String[quiz.length]; for(int ..
1. 등차수열 혹은 등비수열이 배열로 주어질 때 2. 주어진 배열의 마지막 원소 다음에 올 숫자를 return >> Point - 배열의 끝원소 접근 = array[array.length - 1] 등차수열은 증가값이 +로 이루어진 수열이다. 등비수열은 증가값이 *으로 이루어진 수열이다. 결국 마지막 원소에서 이어나가 그 다음 원소를 맞추는 문제이다. 규칙을 먼저 찾는 것이 중요했다. 등차수열인지 등비수열인지부터 알기 위해서 원소의 값들을 비교해야했다. int answer = 0; int diff = 0; if((common[1] - common[0]) == (common[2] - common[1])){ diff = common[1] - common[0]; answer = common[common.leng..
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. Try 1) 테스트케이스는 통과했지만 런타임 에러가 발생하여 전체 케이스를 통과하진 못하였다. public static int solution(int[] array) { int answer = 0; int length = array.length; int[] index = new int[length + 1]; int temp = 0; int max = Integer.MIN_VALUE; for(int i = 0; i < length; i++) { index[array[i]]++; } fo..
머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요. 이전의 피자 나눠 먹기 문제와 유사한 것 같았다. 간단한 연산으로 계산 후 서비스 값만 추가해주면 될 것 같았다. 먼저 양꼬치와 음료수 값을 구하고, int answer = 0; int drink = 0; // 음료수 서비스 개수 // 양꼬치 값 합산 answer += n * 12000; // 음료수 값 합산 answer += k * 2000; 만약 양꼬치가 10인분이 넘어가면, drink값을 조정해서 그만큼 ..
첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. Try 1) - 주어진 테스트케이스 2개는 통과했으나 제출 시 나머지 테스트는 통과하지 못하였다. - 너무 표면적인 문제만 해결하려 했던 것 같다. >> 테스트케이스에 맞춰 코드를 설계하려 했음 int[] answer = {0, 0}; int temp; // 공통 분모 int marking; // Case 1. 첫번째 분수의 분모가 두번째 분수의 분모보다 클때 if(num1 > num2){ if(num1 % num2 !=..
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. 문자열 뒤집기는 첫번째 인덱스의 문자와 끝 인덱스의 문자를 바꾸고 인덱스를 바꾼 후 또 그 인덱스에서의 바꾸기가 이루어지면 되는 것이다. lt 라는 변수와 rt라는 변수를 두어 해결하려했지만, 첫번째인덱스는 반복문에서 'i'라는 변수로 쉽게 접근이 가능하기에 rt변수만 두었다. int rt = my_string.length() - 1; rt는 주어진 my_string의 끝문자를 표시한다. .length() - 1 처음에는 Try 1) StringIndexOutOfBoundsException 오류가 발생하였다. 문자열의 인덱스를 참조하는 과정에서 범위 지정이 ..
"*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. 간단히 이중 반복문을 통해서 별을 출력하는 문제인 것 같았다. 첫째줄로부터 줄이 증가할수록 별의 개수도 증가하면 되는 것이다. i와 j로 이중 반복문을 잡고 j는 i까지 반복해주면 될것 같았다. print()문으로 별을 공백없이 옆에 붙여서 반복 출력해주면 된다. for(int i = 1; i