[Java][프로그래머스][Level 1] 제일 작은 수 제거하기
문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 생각 문제 자체는 어렵지 않지만, 최대한 제한 조건과 원하는 바를 잘 파악하여 효율적인 코드를 만들어야 한다. [10] 이면 -1을 리턴한다. 이것은 원소가 하나만 있다면 그 원소를 제거하기 때문에 빈 배열이 생겨 -1이 나오는 것이다. 그렇다면 이를 맨 처음에 체크를 해줘서 원래 ..
2019. 4. 12.
[Java][프로그래머스][Level 1] 자연수 뒤집어 배열로 만들기
문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 생각 전에 풀었던 자릿수 더하기와 비슷한 문제이다. 먼저 n을 10으로 나눈 나머지를 구해 첫 배열값에 넣어주고 n = n/10을 하여 자릿수를 하나 줄여준다. 위 과정을 n이 0이 될 때까지 반복하면 끝날 것이다. 하지만 여기서 한 가지 더 생각해줘야 하는 것이 있다. 그것은 제한 조건!! n의 범위가 10,000,000,000 (백 억) 이다. 백 억은 int형의 범위를 가뿐하게 넘을 것이다. 이 기회에 byte, short, int, long의 범위를 살펴보자! byte -128 ~ 12..
2019. 4. 9.