HANA -J

TIL -2021/11/11 본문

what I Learnd/TIL

TIL -2021/11/11

Hana-J 2021. 11. 11. 22:15

알고리즘 4일차

> 오늘부터 챌린지 딱 5개만 풀고 나머지 복습해야지 했는데... 4문제풀었다 😑

 

1. 제일 작은 수 제거하기

> 문제 설명 : 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

처음에 시도는 배열을 sort()해서 최소값을 찾아서 배열에서 삭제하려 했는데 ! 실패했다 문제 조건에 배열의 index값이 바뀌면 안된다고 적혀있다.. 그래서 최소값을 찾아서 찾은값만 filter함수로 찾아서 그 값을 제외한 새로운 배열을 생성해서 풀었다.

 

2. 콜라츠 추측 

> 문제 설명 : 아래의 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1일 되지 않는다면 -1을 반환해주세요.

1-1. 입력된 수가 짝수라면 2로 나눕니다. 
1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.
2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제 설명을 잘 읽고 순서대로 조건문을 사용한다면 생각보다 (내기준) 좀 빨리 풀었다. 실행속도도 짧게 찍혀서 나름 뿌듯했😁

 

3. 하샤드 수

> 문제 설명 : 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를들어 18의 자릿수 합은 1+8 =9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수를 완성해주세요.

 

 

 

 

 

 

 

 

 

 

 

 

입력받은 자연수를 문자형으로 변환한 후에 배열에 담고 for문에서 number1의 변수에 값을 더해주는데 더해줄때 숫자형으로 형변환을 한번더 해준다. 

728x90

'what I Learnd > TIL' 카테고리의 다른 글

TIL - 2021/11/13  (0) 2021.11.13
TIL - 2021/11/12  (0) 2021.11.12
TIL - 2021/11/10  (0) 2021.11.10
TIL - 2021/11/09  (0) 2021.11.10
TIL - 2021/11/08  (0) 2021.11.08
Comments