24/4/1 알고리즘 (1) lv1
짝수와 홀수
// 짝수인지 확인해서 결과값을 나눈다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
약수의 합
// 주어진 숫자 이하에서 약수가 있는지 확인하고 더해준다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 포문이 나머지를 1남기는 수를 찾으면 종료하도록 break를 달아놓는다.
//와 while 조건문에 x++을 한다고 ?? 호호... 싱기하네
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
평균 구하기
//reduce를 사용해서 모든 원소들의 합을 담을 a, 모든 갯수를 담을 b를 준비해서 축적해서 마지막에 전체합을 전체갯수로
//나눠서 평균값을 구한다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
문자열을 정수로 바꾸기
//난 그냥 str에 +기호 붙여주고 끝냈는데 이분은 나누기로 형변환 시켰넹 좋다
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
자릿수 더하기
//흐음 reduce써봤는데 왜 안됐을까? 내가 뭐 잘못했겠지 뭐
//역시 reduce쓴게 더 쌈박 하구먼
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
x만큼 간격이 있는 n개의 숫자
//n의 길이를 가진 배열을0을 채워서 만들고 이제 그걸로 새배열을 만ㅁ드는데 첫요소는 x고 x씩 증가하도록 조치
//포문을 통해 하나씩 배열에 담는것도 괜찮구먼
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
자연수 뒤집어 배열로 만들기
//뭐 배열로 만들고 뒤집고 안에 요소들 다 숫자 타입으로 바꾸면 됨
~
//나머지를 계속 밀어주고 몫을 새로운 n으로 만드는거 좋네 n이 양수일때까지만 흐음... do while도 함 써봐야지
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
문자열 내 p와 y의 개수
//뭐 일단 다 소문자로 만들고 배열로 만들고 배열매서드 돌리고 요소가 피인지 와이인지 판단해서 acc에 쌓아준다.
//다 쌓았으면 그게 같은지 아닌지 반환한다.
//와 split이용한 갯수 찾기 지렸다. 쪼개진 개수에서-1된게 그 갯수니까 캬
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
정수 제곱근 판별
//일단 n의 제곱근을 만들어 본다. 이게 정수이면 정수처리된 곱근과 원래 곱근이 같을테니까 그렇다면
//1더해서 제곱해주고 아니면 -1 반환
//원해는 값이 나올때까지 while문을 돌린다. 좋네요 뭐 끝까지 돌려도 안나온다면 no를 반환하고 흐음
n보다 작은애중에 x의제곱이 가장 큰애를 선정하고 그 녀석이 n의 제곱근이지 여부를 판단하는구먼
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
정수 내림차순으로 배치하기
//일단 뭐 배열로 만들고 요소가 문자열로 변경됐으니까 숫자로 바꿔주고 내림차순으로 정렬하고 다시 합치고
//합치면 문자열이니까 다시 숫자로 바꾸고
//아하 그냥 사전순으로 정렬하고 리버스 해주면 되는구낭 에헷 좋다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]
하샤드 수
//뭐 각자리수를 전부더한 num을 만들어주고 이제그게 x가 나누어떨어지는지 확인
//각자리수의 합 sum을 두와일로 구하고 그걸로 하샤드수인지 확인
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
두 정수 사이의 합
//뭐 매쓰점 맥스나 민 을 써도 되지만 걍 오름차순 정렬시켜서 구조분해 할당 다시 시키고 그걸로 포문 돌리면 끝
//와 수학 개쩐다. ㅋㅋㅋㅋ 무찌다 무쪄
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
음양 더하기
//실제 값이 들어있는 앱솔루트로 리듀스 돌려서 이제 같은 인덱스의 싸인이 뭐냐에 따라 현재값을 어떻게 축적할지 구분하며ㅓㄴ 끝
//포문으로 싸인에 해당인덱스가 뭔지 확인하고 앤써에 축적하는 방식
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
서울에서 김서방 찾기
//뭐 김서방 인덱스 찾아서 글귀랑 반환하기
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
없는 숫자 더하기
//없는 숫자를 일일히 찾아낼께 아니라 전체수중에서 있는숫자를 빼면 그게 없는숫자의 합
// 오 직접 없는숫자를 더해주셨구만 이것도 간결하고 좋네
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
콜라츠 추측
//콜라츠 색히 ㅈㄴ 한가하네 ㅋㅋㅋ
// num을 계속 줄여나갈테니까 1이아니면 while문이 돌아가게 함 이제 짝수 홀수 구분해서 연산해주는데
//애초에 while문 돌때 500회를 초과하면 -1을 반환하면서 함수가 종료되게 함
//아하 while문 조건자리에 500회가 안되는것도 포함하는방식이 있구먼? 그리고 1에 도달못하면 -1반환하게 하는구먼
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
나누어 떨어지는 숫자 배열
//필터링이 필요함 divisor로 나누어 떨어지는 애들만 모음 그리고 걔네 오름차순 정렬함
//빈배열일 경우를 별도로 분류하고 리턴
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
핸드폰 번호 가리기
//배열로 만들고 4자리 까지는 그대로 두고 앞자리 번호 바꿔야 되니까 좀더 편하게 거꾸로 뒤집고
//인덱스가 4이상인애들은 별로 축적시켜서서 에이씨 괜히 reduce썻네 다시 조개고 뒤집고 합쳐준다.
//아핫 자릿수도 정규식이 되는구나... 정규식 어디서 배워야 되지? 좋은데??
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
제일 작은 수 제거하기
//아씨 처음에 sort써서 풀려니까 기본배열순서가 바꾸면서 오히려 귀찮아 졌네 이게 낫구먼
//최솟값 찾고 그것만 빼도록 필터링 걸고 이제 빈배열일 경우만 분기해주면 끝
//가장작은수의 인덱스를 찾아서 빼주는 구먼 그것도 좋군
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~