목록What I Learned/Algorithm (20)
우당탕탕 개발일기
어렵다 어려워,, 각 단어인 문자열(strings[i])의 n번째 자리 값을 도출해내고, 그 값의 오름차순으로 strings[i]들을 정렬. n번째 자리가 동일할 경우 사전순으로 정렬. 이 때는 strings[i]의 0번째부터 비교하게끔. . . (💥정답 아님) function solution(strings, n) { var answer = []; for (var i=0; i 0 인 경우 b , a 순으로 정렬 compareFunction이 0을 반환하면 a, b를 변경x (그대로) //오름차순// arr.sort(function(a,b) { return(a-b); }); // 화살표 함수 적용하면 // arr.sort(function(a,b) => a-b); 내림차순으로 하려면 a-b를 b-a로 수정해..
난이도가 중이 되자마자 잔뜩 길어진 문제. 차근차근 읽고 , 입출력 예까지 확인하고 뭘 말하는 문제인지까지는 이해 완료. 그리고 배열의 정렬에 손대지 말라, 즉, sort 등의 사용 금지가 문제의 포인트인듯 하다. 췌,, 그럼 배열의 정렬엔 손을 대지 않고, 배열 내 중복 요소들을 찾아서 삭제하여 리턴하는 방법이라는건가?? (💥엉망코드) function solution(arr){ var answer = []; var set = new Set(arr); var new_arr = [...set] return new_arr; } 배열의 중복, 배열의 삭제 등등 많은 키워드를 찾아보았더니 뭔가 비슷해보이는 걸 하나 발견! 중복없는 데이터 표현이 가능한 set 객체를 이용여 배열의 중복을 없애고, [...set]..
처음으로 도움이 되지 않았던 입출력 예... 비문학같았지만, 차근차근 정리해보니 수식 몇 개와 조건문 몇 개로 나누어지는 것을 알 수 있었다. 일단 작업에 있는 조건들을 다 if문으로 정리를 했고, for문으로 500까지 반복해야 할 것이라 생각했다. 그리고 일단 그냥 정리한것을 토대로 코드를 작성해보았다. (⚡️엉망코드) function solution(num) { var answer = 0; for (var i = 0; i
문제의 포인트라고 생각했던 곳은 자연수를 배열 형태로 return 하는 것 : answer에 push로 넣는걸까? 붙어있는 숫자를 따로 떼어내는 것 그 떼어낸 숫자 사이에 쉼표를 집어넣는 것 이정도로 생각했다. 문제는 이걸 구현하는 방법이 어떤게 있느냐,,🤫 우선, 문자열 뒤집기로 검색했을 때 눈에 띄는 정보가 있었다. 바로 str.split('').reverse().join(''); 1️⃣ split를 사용해 문자열(str)을 배열로 변환하여, 2️⃣ reverse로 배열로 변환한 것의 순서를 뒤집어주고, 3️⃣ join으로 다시 문자열로 합쳐주는 과정을 의미한다. 이 때, join 뒤에 빈칸으로 두면 문자열로 합쳐질 때 사이에 ','가 자동으로 들어간다고 한다. 이 점까지 내가 지금 풀 문제에 잘 적..
오늘의 첫번째 담당 문제. 뭔가 신박해보이는 문제가 나왔다. 토요일에 머리가 꽉 찬 상태로 보려고 하니 전혀 읽히지 않았던 문제!ㅎ 오늘 차근차근 뜯어보니 n의 숫자만큼 문자열을 반복해야 하니까 'for문'을 사용. 단 '길이'가 n이라고 했으므로 for문에서 n.length가 아니라 그냥 n사용. 반복해서 단어를 표현해야하므로 '별 찍기 활용' 로 이해를 하고, 일단 코드부터 작성해보기로 했다. 💡 나의 코드 function solution(n) { var answer = ''; var word = '수박' for (let i=0; i