2024. 4. 2. 18:32ㆍ카테고리 없음
k번째 수
//커맨즈 만큼에 배열길이를 갖으므로 해당배열에 맵매서드 돌리고 원하는 길이로 어레이를 슬라이스 치고
//오름차순으로 정렬하고 원하는 인덱스의 값을 요소로 갖겠끔 하면 끝
//동일하게 매핑 돌리시고 필터를 통해서 자르셨구나 이것도 좋군먼
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
두 개 뽑아서 더하기
//넘버스의 숫자로 작업하기위해 reduce사용 이제 안에서 포문돌려서 인덱스가 idx보다 높은 요소들과
//일일히 합친 애들을 배열에 담는다. 정렬해주고 set을 이용해 동일 요소 빼주고 array로 담으면 끝
//이중포문을 돌아서 역시 모든 합을 배영ㄹ에 담고 set으로 동일 요소 빼주고 ...으로 배열형식으로 만들고 정렬해서
//반환
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
푸드 파이트 대회
//reduce를 사용한다. idx가 0인애는 물이니까 가볍게 무시하고 이제 준비한 음식인 cur을 반으로 나눴을때
//몫이 이제 한 선수가 먹을 음식의 양이니까 그만큼 repeat로 반복해줘서 축적한다.
//그러면 좌우대칭문자열중 앞에께 완성됨 그걸 뒤집은애랑 사이에 0을 두고 붙이면 끝
//역시나 반복문으로 대칭 앞쪽 문자열 완성해주고 0사이에 두고 뒤집은 문자 뒤에 붙여주면 끝
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
문자열 내 마음대로 정렬하기
//일단 alpha 라고 소문자 알파벳을 순서대로 가진 문자열 만든다.
//sort를 돌리고 n인덱스의 요소가 다르다면 인덱스번호가 빠른게 앞에오도록 sort하고
//이제 같을때가 문제 인데 같은면 사전순으로 정리한다.
//for 문돌려서 같은번째 인덱스가 다를경우에 인덱스 위치에 맞춰서 정렬한다.
// localeCompare라는 문자열 비교 매서드가 있구먼 호호호 처음 본다.
//charAt 이건 뭐냐 신기하네 이런게 있구나
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[1차] 비밀지도
//arr1과 결과 배열이 동일한 길이니까 map 돌린다. arr1과 arr2의 2진법숫자를 str1과 str2에 각각 담는다.
//길이 조정을 위해 repeat를 사용하여 앞에 빈 자리에는 0을 채운다.
//포문을 돌려서 이제 1이 하나라도 들어가는 자리면 대신 샵을 채우고 아니면 공백을 채운 sum을
//완성하고 map매서드의 반환값으로 sum을 내보내면 끝
//padStart는 또 머당가? 와 a|b[i] 이거 지렸다 ㅋㅋㅋㅋ 둘중하나라고 1이면 됭꼐 와우
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
콜라 문제
//흐음 일단 빈병을 n을 처음에 할당하고 while문을 돌린다. 받은콜라는 이제 빈병 a개당 b개를 돌려주니까 저래하고
//받은콜라를 축적해주고
//반납한빈병을 구해주고 새로운 빈병은 원래빈병에서 반납한빈병을 빼고 받은콜라가 새로운 빈병이 되니까 더해준다.
그렇게 해서 while문에서 돌면 끝
//이건 뭐죠?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
명예의 전당(1)
//일단 뭐 score로 맵함수 돌리고 이제 score중 출연한 애들까지만 잘라주는데...
//인덱스가 k보다 작으면 가장 점수 낮은애를 보여주면 되고
//아니면 이제 k번째 등수인애를 보여주면 됨
//리듀스를 쓰셨군요 k보다 작으면 이제 해당요소를 푸쉬하는 군요 그리고 오름차순 정렬하고
//k보다 작지 않다면 역시 푸쉬하는데 앞에넣어줬던걸 빼주는 군용 오호 그리고 딱 k개 만큼이 유지되도록 하는군요
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
추억 점수
//photo에 대해서 map을 돌린다. item도 배열이므로 안에서 reduce를 돌린다. name이라는 배열에 해당 요소가 있는지
//인덱스가 무엇인지 확인한다. index가 -1이면 인덱스가 없는것잉께 그냥 넘어가고 index가 있으면 여닝에서
//추억점수를 축적해준다. 모든 축적값을 map함수의 요소로 반환하면 끝
//reduce 맛깔나게 쓰시네
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
카드 뭉치
//결국 못풀었다 뭐가 문제지? 답을 봅세다. //하라는 대로 안해서 그런가? 흐음... 내코드가 안되는이유 알려주세용 님덜
//와 씨 이렇게 간단한걸 뭐한거지... 그니까 양쪽카드에 있으면 빼고빼는데 양쪽에 다 없으면 No를 반환하고 끝낸다는거구먼 이래 쉬운걸 왜 .... 뭐지....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016년
//요일을 담은 배열을 만드는데 1월1일이 금요일이니까 1인덱스가 금요일이 되도록 마준다.
//12달의 일수를 담은 배열도 만든다. 월이 1일때는 오류나니까 따로 빼서 처리해주고 이제 정해진 날짜까지의 일수를
//모두 더해서 7로 나눈 나머지를 해서 요일을 구한다.
//요건 뭐다냐 뭐가 Date를 저렇게도 쓰는구나...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
폰켓몬
//최대 고를수 있는 개수를 파악한다. 그리고 포켓몬 들어있는 배열중에서 동일한애는 빼준다. set으로 다시 배열로 만들고 길이를 파악한다. 고를수 있는 가짓수보다 켓몬 개수가 많다면 최대로 고를수 있다. 아니면 켓몬 개수만큼이 최대이다
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
모의고사
//수포자 자슥들의 찍는방식을 문자열로 만든다. answers에 reduce를 돌린다. 이제 수포자가 찍은거랑
//현재 요소랑 비교해서 배열로써 반환한다. a ,b, c는 각각 수포자가 맞힌 문제의 갯수이다.
//가장 많이 맞힌 갯수를 파악하고 가장 많이 맞춘아이의 번호를 배열에 담는다.
//처음부터 필터를 써서 맞춘 정답만을 담는 배열을 만들고 그 길이를 파악했구먼
//이제 그 길이가 가장 긴놈의 값을 찾고 그 값과 일치하면 배열에 담아서 반환
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
기사단원의 무기
//테스트해보니까 문제 풀이 과정에는 문제 없는데 시간복잡도가 엄청나게 증가하면서
//타임아웃이 나타난다.
//이분의 시간복잡도 해결방식을 파악해보자 두번째 포문에서 제곱근까지로 연산을 한다.
//동일하게 약수일때 i/j로 나누고 그게 j몫과 같으면 divisor를 1만 올리고 아니면
//divisor를 2를 올린다. 흐음... 아하 안에서 이제 이미 divisor가 limit를 초과하면 더이상 포문을 돌릴
//이유가 없구나... 흐음....
//역시 동일하게 이중포문이고 여기서는 j곱하기 j가 n까지??? 오잉? 방식은 똑같네 홀리쉿
//이게 약수 구할때 시간 복잡도를 줄이는 방법이구나 오키 확인
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
과일 장수
//과일을 비싸게 팔려면 좋은거는 좋은거끼리 묶어야 한다. sort를 통해서 내림차순으로 배열을 정렬한다.
//이제 포문을 도는데 갯수부족인애들은 걸러내도록 횟수를 정한다. slice를 통해서 상자들을 쪼갠다
//거기서 제일 싼사과의 가격을 찾고 사과갯수를 곱해서 합산해준다.
//맨처음 슬라이스로 상자화 하지 못하는 것들을 걸러내는 구먼
//상자화 가능한 것들의 길이만큼 돌리고 이제 가장 싼놈에다가 갯수 곱해서 축적
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
소수 만들기
//삼중 포문으로 nums에서 3개를 뽑아서 더하는 경우를 모두 arr에 축적한다. 다시 이중포문으로 그중에서 소수인 애들을 answer에 축적한다.
//홀리쉿 결국 사중 포문이구먼유
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
에휴 어렵네 일단 여기까지