Hayden's Archive
[알고리즘] 프로그래머스 : 콜라츠 추측 / 제일 작은 수 제거하기 본문
알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/12943
내가 작성한 코드
굉장히 간단한 문제인데 습관처럼 정수를 int로 선언했다가 문제를 다시 읽고 수 범위를 확인한 후 long으로 바꿨다.
public class Solution {
public int solution(int num) {
int answer = 0;
long newNum = num;
while(newNum != 1) {
if(answer > 500) return -1;
if(newNum % 2 == 0) {
newNum /= 2;
answer++;
}else {
newNum = (newNum * 3) + 1;
answer++;
}
}
return answer;
}
}
알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/12935
내가 작성한 코드
class Solution {
public int[] solution(int[] arr) {
int[] answer = {};
if(arr.length == 1) {
answer = new int[1];
answer[0] = -1;
}else {
answer = new int[arr.length-1];
int minIdx = 0;
for(int i=1; i<arr.length; i++) {
if(arr[i] < arr[minIdx]) {
minIdx = i;
}
}
int idx = 0;
for(int i=0; i<arr.length; i++) {
if(i == minIdx) continue;
answer[idx++] = arr[i];
}
}
return answer;
}
}