본문 바로가기

프로그래밍 공부

(214)
[프로그래머스] 자바스크립트 LV1 2016년 2016년 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 더보기 1 2 3 4 5 6 7 8 function solution(a, b) { let week=['SUN', 'MON', 'TUE', 'WED', 'THU', '..
[프로그래머스] 자바스크립트 LV1 K번째수 K번째수 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입..
[프로그래머스] 자바스크립트 LV1 문자열 내 마음대로 정렬하기 문자열 내 마음대로 정렬하기 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 더보기 1 2 3 4 5 6 7 8 9 1..
[프로그래머스] 자바스크립트 LV1 정수 제곱근 판별 정수 제곱근 판별 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 더보기 1 2 3 4 5 6 7 function solution(n) { if(Number.isInteger(Math.sqrt(n))){ return Math.pow(Math.sqrt(n)+1, 2) }else{ return -1 } } Colored by Color Scripter cs function solution으로 받은 매개변수 n은 특정한 양의 정수의 제곱인지 판단해야한..
Java - 스레드(Thread) 프로세스(Process) 프로세스는 단순히 실행 중인 프로그램(Program)이라고 할 수 있다. 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것을 말한다. 이런 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성이 된다. 스레드(Thread) 스레드는 프로세스 내에서 실제로 작업을 수행하는 주체를 의미한다. 모든 프로세스에는 한 개 이상의 스레드가 존재해 작업을 수행한다. 또한 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(Multi-threaded process)라고 한다. Java와는 다르게 JavaScript에 경우는 기본적으로 스레드가 하나인 싱글 스레드 프로세스(Single-threaded process)로 작업을 수행한..
Java - 예외 처리 오류(Error)와 예외(Exception) Java 프로그램을 작성할 때 Java 문법에 맞지 않게 코드를 작성하면 문법 오류(Syntax error)가 발생한다. 또 문법에 맞게 작성되었다 하더라도 프로그램이 실행되면서 예상치 못한 오류가 발생할 수도 있다. 이렇게 시스템이 동작하는 도중에 예상치 못한 사태가 발생해 실행중인 프로그램이 영향을 받는 것을 오류와 예외 두 가지로 구분한다. 오류(Error) : 시스템 레벨에서 프로그램에 심각한 문제를 야기해 실행 중인 프로그램을 종료시킨다. 이런 오류는 개발자가 미리 예측해 처리할 수 없는 것이 대부분이기 때문에 오류에 대한 처리는 할 수 없다. 예외(Exception) : 오류와 마찬가지로 실행 중인 프로그램을 비정상적으로 종료시키지만 발생할 수 있는..
Java - 제네릭(Generic) 제네릭(Generic) Java에서 제네릭은 데이터의 타입을 일반화한다는 것을 말한다. 제네릭은 클래스나 메서드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다. 이렇게 컴파일 시에 미리 타입 검사를 수행하면 두 가지 장점이 있다. 1. 클래스나 메서드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다. 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 시간을 줄일 수 있다. JDK 1.5 이전에서 여러 타입을 사용하는 대부분의 클래스나 메서드에서 인수나 반환값으로 Object 타입을 사용했다. 하지만 이 경우 반환된 Object 객체를 다시 원하는 타입으로 타입 변환을 해야하며, 이 때 오류가 발생할 수 있다. 하지만 JDK 1.5부터 도입된 제네릭을 사용하면 컴파일 시에 미..
Java - Java API 클래스 : Arrays 클래스 Arrays 클래스 설명 java.util java.lang 패키지 다음으로 가장 많이 사용되는 패키지, 반드시 import문 사용 java.util.Arrays 배열을 다루기 위한 다양한 메서드 포함 binarySearch() 전달받은 배열에서 특정 객체의 위치를 이진 검색 알고리즘으로 검색후 위치 리턴 copyOf() 전달받은 배열의 특정 길이만큼을 새로운 배열로 복사후 리턴 copyOfRange() 전달받은 배열의 특정 범위에 해당하는 요소만으로 새로운 배열로 리턴 fill() 전달받은 배열의 모든 요소를 특정 값으로 초기화 sort() 전달받은 배열의 모든 요소를 오름차순으로 정렬 java.util java.util 패키지는 프로그램을 개발할 때 사용할 수 있는 유용한 유틸리티 클래스가 포함되어 ..