카테고리 없음

24/4/4 알고리즘 (2)

한지지우우 2024. 4. 4. 17:47

최댓값과 최솟값

내풀이

//공백을 빼고 숫자형으로 만든다. 정렬하기 쉽도록 이제 내림차순으로 정렬하고 문자열형태로 반환

다른풀이

//최댓값 최소값 매서드를 이용하신 방법 좋구용

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

소수 찾기

내풀이

//아 효율성에서 떨어졌다. 아마 시간복잡도가 문제인듯 싶다.

다른풀이

//내풀이는 요소하나하나마다 다시 반복문을 돌며 모든약수를 확인해서 소수인지 판별하니까 시간복잡도

//문제로 통과를 못했는데 

//이분의 풀이는 일단 미리 배열에 채워놓고 거기서 두번째 이중포문에서 이제 해당 요소의 배수들을 

//다 0으로 만들어버려서 소수가 아닌애들을 미리 싹 걷어내 버리는 구나 효율성 훨씬 좋겠네 당연히 캬

또다른 풀이

//set이라는 거 만들어서 add로 일단 홀수를 다 담아 두셨네 거기서 1빼고 2를 더하고

//3부터 다시 포문돌면서 그녀석의 배수부터 다시 지워나가시는구나 그리고

//결과값으로 set인 s의 길이를 제출 호호 윗분하고 원리는 비슷하다.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

덧칠하기

내풀이

//캬 풀긴풀었다. 근데 시간복잡도가 높은가보다... 되게 오래걸리네...

//일단n만큼 1부터 n까지 담은 배열을 만든다.

//이중 반복문을 도는데 일단 item에서 -1을 뺀게 arr안에서 해당숫자의 인덱스니까 저래 할당한다.

//arr에 요소가 없으면 바로 다음으로 넘어가고

//이제 있다면 포문을 도는데 연속된 m개의 요소들을 전부 0으로 만들어 버린다.

//칠을 했다는 표시 그리고 카운트를 1개씩 업

// 일단 통과를 하긴했는데 정답쿨타임이 엄청김 

다른분 풀이

//포오브 문 보이고 페인티드가 요소보다 적으면 칠수를 하나 올리고 칠한구역을 표시해주는 구먼 오호

//아하... 그렇구나..걍 어디까지 칠했는지 따로 변수로 저장만 시켜놓으면 되는구나 이중포문 필요없네...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

다트 게임

내풀이

//아... 다른분꺼 살짝 참고했슴다. temp가 주요함 일단 임시로 담아두는 느낌임 캬 무조건 arr에 담아두고 후조치

//할려니까 골머리 썩었는데 temp에 일시적으로 담아두번 짱좋음

//일단 다트 레절트를 배열로 만들어 순회 시킨다.

//첫번째 if에서는 2부터 9까지의 숫자일경우 temp에 그걸 담아둔다.

//이제 10인경우는 두자릿수라 문제인데 첫글자가 1이고 그다음이 0이면 10을 담아둔다.

//그냥 1이면 1을 담고 0이 나왔는데 그앞이 1이 아니라면 10이 아니니까 0을 담는다.

//S일경우는 미리담아둔걸 배열에 넣기만 하면되고 D면 2승해서 넣고 T면 3승 해서 넣는다.

//별이 나오면 이미 넣은애들중 마지막과 그앞에 놈을 두배해주면 되고 

//샵이 나오면 마지막놈을 음수로 바꾸면 된다.

//이제 모든 요소를 더해주면 끝

다른풀이

//정규식? match는 배열로 만든다는건 알겠는데 .. 이게 머냐? 약간 숫자와 문자와 별샵을 따로 split이라는

//배열에 담는 느낌이고먼? 대충 원리는 알겠는데 정규식 해석이 안되는구먼 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[카카오 인턴] 키패드 누르기

내풀이

//아 길다.. 피똥 싸는줄 ㅋㅋㅋㅋ

//일단 각 숫자 패드에 위치정보 배열을 오브젝트 형식으로 담는다.

//그리고 현재 손꾸락 위치를 담을 right와 left를 설정한다.

//이제 넘버스라는 배열에 reduce를 돌릴껀데... 이제 cur이 핸드폰 왼쪽에 있는 숫자냐 가운데 있는 숫자냐

//오른쪽에 있는 숫자냐로 크게 분기시키고 왼쪽은 왼손으로만 누르니까 왼손의 위치를 해당 오브젝트로 할당하고 

//이제 문자열에 L추가 시키고 오른쪽 라인도 오른손으로 설정해주면 되는데

//문제는 가운데인데 가운데가 오른손에 가까우면 오른손으로 찍고 왼손에 가까우면 왼손에 찍는다.

//그런데 두손이랑 거리가 똑같으면 이제 오른손잡이냐 왼손잡이냐에따라 또 분기해주면 된다.

//노가다 하느라 뒈지는줄

다른분 풀이

// 모르겠당 ㅋㅋ

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~