
문제 설명 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 sort 하면 되겠구나 생각은 했는데 문자열문제가 아직 약해서 .. char 배열을 생성만 하면 됐는데 이걸 생각못해서 그냥 돌아갔다 ; char[] ch=my_string.toLowerCase.toCharArray();......... 기억해;;; import java.util.Arrays; import java.util.Scanner; class Solution { public String solution(String my_string) { String answer=""; c..

LRU - Least Recently Used, 최근까지 적게 hit된 캐시데이터를 지우는 방법이다 설명 캐시메모리는 CPU와 주기억장치(DRAM) 사이의 고속의 임시 메모리로서 CPU가 처리할 작업을 저장해 놓았다가 필요할 바로 사용해서 처리속도를 높이는 장치이다. 워낙 비싸고 용량이 작아 효율적으로 사용해야 한다. 철수의 컴퓨터는 캐시메모리 사용 규칙이 LRU 알고리즘을 따른다. LRU 알고리즘은 Least Recently Used 의 약자로 직역하자면 가장 최근에 사용되지 않은 것 정도의 의미를 가지고 있습니다. 캐시에서 작업을 제거할 때 가장 오랫동안 사용하지 않은 것을 제거하겠다는 알고리즘입니다. 캐시의 크기가 주어지고, 캐시가 비어있는 상태에서 N개의 작업을 CPU가 차례로 처리한다면 N개의 ..

문제 설명 문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 import java.util.Arrays; class Solution { public int solution(String before, String after) { char[] a = before.toCharArray(); char[] b = after.toCharArray(); Arrays.sort(a); Arrays.sort(b); return new String(a).equals(new String(b)) ? 1 :0; } } 배열에 담고.. 정렬해서 같으면 1, 다르면 0 리..

문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 2중 for문으로 돌아야한다고 생각했고, 새 list에 어떻게 중복없이 담을까 생각했는데 arraylist에 indexof()를 이용하면 쉬웠다. indexOf()는 괄호안의 특정문자의 위치를 찾아 반환하는데, 찾지 못하면 -1을 반환한다. 그래서 조건문으로 < 0 이면(=없을경우) list에 추가하는 방식이다. import java.util.ArrayList; i..

1. 올바른 괄호 2. 괄호문자제거 3. 크레인 인형뽑기(카카오) 4. 후위식 연산(postfix) 5. 쇠막대기 6. 공주구하기 7. 교육과정설계 8. 응급실 1. 올바른 괄호 import java.util.*; public class Main { public String solution(String str){ String answer="YES"; Stack stack=new Stack(); for(char x:str.toCharArray()){ // 닫는 괄호가 많을때 if(x=='(') stack.push(x); else{ // 닫는 괄호 일때 if(stack.isEmpty()) return "NO";// stack이 비어있냐 => "NO" stack.pop(); // 그렇지 않다면 제일 상단에 있..

문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] Divisor로 나뉘어 떨어지는 수를 따로 ArrayList에 담고 만약에 담긴 값이 없다면 바로 -1을 넣어주고, 값이 있다면 해당..

문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 "try hello world" "TrY HeLlO WoRlD" split을 이용해 공백을 기준으로 문자열을 자른뒤 짝수와 홀수자리를 판별해줄 변수 cnt를 만들어줘서 각 자리별로 대문자화,소문자화 뒤 answer에 넣어주었다. 근데 만약 해당 인덱스가 공백이면 cnt=0..

문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 121 144 3 -1 for문으로 i*i가 n이 될때까지 돌면서, n과 같은 값을 가지는 수가 있다면 제곱근이니 answer에 해당하는 return 값을 넣어주고 같은 값을 가지는 수가 없다면 -1을 넣어 반환해주어었다. class Solution { public long solution(long n){ long answer = 0; for (long i = 1; i * i