728x90
반응형

분류 전체보기 476

시간복잡도 이론

시간복잡도란? 알고리즘 선택의 기준 주어진 문제를 해결하기 위한 '연산 횟수' 일반적으로 수행시간은 1억 번의 연산을 1초의 시간으로 간주하여 예측 ex) 시간제한 2초라고 가정한다면 2억 번의 연산 안에 도출 시간 복잡도 유형 빅-오메가(Ω(n)) : 최선일 때(best case)의 연산 횟수를 나타낸 표기법 빅-세타(Θ(n)) : 보통일 때(average case)의 연산 횟수를 나타낸 표기법 빅-오(O(n)) : 최악일 때(worst case)의 연산 횟수를 나타낸 표기법 public class timeComplexityEx01 { public static void main(String[] args) { int findNumber = (int)(Math.random() * 100); for(int ..

[85] JAVA n의 배수 고르기

문제 설명 정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10,000 1 ≤ numlist의 크기 ≤ 100 1 ≤ numlist의 원소 ≤ 100,000 입출력 예 n numlist result 3 [4, 5, 6, 7, 8 ,9, 10, 11, 12] [6, 9, 12] 5 [1, 9, 3, 10, 13, 5] [10, 5] 12 [2, 100, 120, 600, 12, 12] [120, 600, 12, 12] 입출력 예 #1 numlist에서 3의 배수만을 남긴 [6, 9, 12]를 return합니다. 입출력 예 #2 numlist에서 5의 배수만을 ..

[84] JAVA 짝수는 싫어요

문제 설명 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 10 [1, 3, 5, 7, 9] 15 [1, 3, 5, 7, 9, 11, 13, 15] 입출력 #1 10 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다. 입출력 #1 15 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다. [나의 풀이] import java.util.stream.IntStream; class Solution { public int[] solution(int n) { return IntStream.rangeClosed(..

[83] JAVA 순서쌍의 개수 (약수 구하기)

문제 설명 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 1,000,000 입출력 예 n result 20 6 100 9 입출력 예 #1 n이 20 이므로 곱이 20인 순서쌍은 (1, 20), (2, 10), (4, 5), (5, 4), (10, 2), (20, 1) 이므로 6을 return합니다. 입출력 예 #2 n이 100 이므로 곱이 100인 순서쌍은 (1, 100), (2, 50), (4, 25), (5, 20), (10, 10), (20, 5), (25, 4), (50, 2), (100, 1) 이므..

[82] JAVA 제곱수 판별하기

문제 설명 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 1,000,000 입출력 예 n result 144 1 976 2 입출력 예 #1 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다. 입출력 예 #2 976은 제곱수가 아닙니다. 따라서 2를 return합니다. [나의 풀이] class Solution { public int solution(int n) { return Math.sqrt(n) % 1 == 0.0 ? 1 : 2; } } Math 라이브러리에서 제곱근을 구하는 sqrt를 활용하였다. sqrt의 반환타입은 ..

[81] JAVA n 번째 원소까지

문제 설명 정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n 번째 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num_list의 길이 ≤ 30 1 ≤ num_list의 원소 ≤ 9 1 ≤ n ≤ num_list의 길이 ___ 입출력 예 num_list n result [2, 1, 6] 1 [2] [5, 2, 1, 7, 5] 3 [5, 2, 1] 입출력 예 #1 [2, 1, 6]의 첫 번째 원소부터 첫 번째 원소까지의 모든 원소는 [2]입니다. 입출력 예 #2 [5, 2, 1, 7, 5]의 첫 번째 원소부터 세 번째 원소까지의 모든 원소는 [5, 2, 1]입니다. [나의 풀이] import java...

자바스크립트 함수 선언식과 호이스팅, 그리고 함수 표현식

호이스팅 function sayHello () { console.log("Hello!") } sayHello(); sayHello(); sayHello(); sayHello(); function sayHello (name) { console.log("Hello my name is " + name) } sayHello("YooHyeokSchool"); sayHello("DoubleDoorStone"); sayHello("YooHyeokChoi"); sayHello("UrekMazino"); 위와 같은 함수선언식 방식의 재정의 코드가 있다고 가정했을때 해당 함수를 호출한다면 기대하는 출력의 예는 아래와 같다. 하지만 실제 출력은 아래와 같이 출력된다. 이는 자바스크립트 엔진에 의해 선언된 변수와 함수를 최상..

JavaScript 2023.11.30

JSON표준 규약 에 의한 javascirpt -> spring 간의 REST(fetch, ajax, axios)통신에서 null과 undefined 부정 타입 변환

[예시 1. null] useEffect(()=>{ let params = {params: {"test":null}} axios.get('/test', params) .then((response)=> { console.log(response) }) .catch((error) => { console.log(error); }) }) @GetMapping("/test") public void test(String test) { System.out.println(test.equals("null")); } [예시 2. undefined] useEffect(()=>{ let params = {params: {"test":undefined}} axios.get('/test', params) .then((respons..

[80] JAVA 마지막 두 원소

문제 설명 정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num_list의 길이 ≤ 10 1 ≤ num_list의 원소 ≤ 9 입출력 예 num_list result [2, 1, 6] [2, 1, 6, 5] [5, 2, 1, 7, 5] [5, 2, 1, 7, 5, 10] 입출력 예 #1 마지막 원소인 6이 그전 원소인 1보다 크기 때문에 6 - 1인 5를 추가해 return합니다. 입출력 예 #2 마지막 원소인 5가 그전 원소인 7보다 크지 않기 때문에 5의 두 배인 10을 추가해 retu..

[79] JAVA 배열의 길이에 따라 다른 연산하기

문제 설명 정수 배열 arr과 정수 n이 매개변수로 주어집니다. arr의 길이가 홀수라면 arr의 모든 짝수 인덱스 위치에 n을 더한 배열을, arr의 길이가 짝수라면 arr의 모든 홀수 인덱스 위치에 n을 더한 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000 1 ≤ arr의 원소 ≤ 1,000 1 ≤ n ≤ 1,000 입출력 예 arr n result [49, 12, 100, 276, 33] 27 [76, 12, 127, 276, 60] [444, 555, 666, 777] 100 [444, 655, 666, 877] 입출력 예 #1 예제 1번의 arr의 길이는 5로 홀수입니다. 따라서 arr의 짝수 인덱스 0, 2, 4에 주어진 n 값인 2..

[78] JAVA 0 떼기

문제 설명 정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ n_str ≤ 10 n_str이 "0"으로만 이루어진 경우는 없습니다. 입출력 예 n_str result "0010" "10" "854020" "854020" 입출력 예 #1 "0010"의 가장 왼쪽에 연속으로 등장하는 "0"을 모두 제거하면 "10"이 됩니다. 입출력 예 #2 "854020"는 가장 왼쪽에 0이 없으므로 "854020"을 return합니다. [나의 풀이] class Solution { public String solution(String n_str) { return String.valueOf(In..

[77] JAVA 수 조작하기 1

문제 설명 정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다. "w" : n이 1 커집니다. "s" : n이 1 작아집니다. "d" : n이 10 커집니다. "a" : n이 10 작아집니다. 위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요. 제한사항 -100,000 ≤ n ≤ 100,000 1 ≤ control의 길이 ≤ 100,000 control은 알파벳 소문자 "w", "a", "s", "d"로 이루어진 문자열입니다. 입출력 예 n control result 0 "wsdawsdass..

[76] JAVA 정수 찾기

문제 설명 정수 리스트 num_list와 찾으려는 정수 n이 주어질 때, num_list안에 n이 있으면 1을 없으면 0을 return하도록 solution 함수를 완성해주세요. 제한사항 3 ≤ num_list의 길이 ≤ 100 1 ≤ num_list의 원소 ≤ 100 1 ≤ n ≤ 100 입출력 예 num_list n result [1, 2, 3, 4, 5] 3 1 [15, 98, 23, 2, 15] 20 0 입출력 예 #1 [1, 2, 3, 4, 5] 안에 3이 있으므로 1을 return합니다. 입출력 예 #2 [15, 98, 23, 2, 15] 안에 20이 없으므로 0을 return합니다. [나의 풀이] import java.util.stream.Stream; class Solution { publ..

[75] JAVA n보다 커질 때까지 더하기

문제 설명 정수 배열 numbers와 정수 n이 매개변수로 주어집니다. numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이때까지 더했던 원소들의 합을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ numbers의 길이 ≤ 100 1 ≤ numbers의 원소 ≤ 100 0 ≤ n n) break; } return sum; } } [다른 풀이] class Solution { public int solution(int[] numbers, int n) { int sum = 0; for (int i = 0; i left