연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요. 그렇다.. 그냥 연속된 수의 합이다.. 두개의 인자가 주어진다. 첫번째, num 정수이며 더해야 할 숫자들의 총 갯수를 뜻한다. 두번째, total 정수이며 다 더했을 때 이 값이 되면 된다... 난 다시한번 내가 비전공에 수포자였음에 좌절하였다.... 이런저런 메소드와 반복문 기타 등등이 생각났지만 수학적인 해법은 전혀 떠오르지 않았다... 그래서 역시 무식하게 마구 풀었다.. function solution(num, total) { var answer =..
분류 전체보기
계속 생각나는대로 이어오다보니 뭔가 차례차례 진행해야 될 것 같았다. 그래서 마침 91년에 와있으니, 91년부터 한해한해 짚어보기로 했다. 91년 곡 중 많이 들었던 요 곡을 또 빼놓을 수 없을 것 같다.
사실 아무 연관 없는 것 같지만 92년 91년... 이 당시 에너지를 생각하면 RHCP가 꼭 떠오른다. RHCP를 들으면 07년 학부 1학년 때로 무조건 돌아가는 것 같다.. 그때 분위기며 공기며 뭐며 다 떠오른다.
시규어로스를 듣고있으니 갑자기 스펌으로 넘어왔다? 이유는 모르겠다. 아마도 시규어로스를 듣던 때 스펌도 들었어서 그런가보다.. 갑자기 고등학생때로 갔다.. 2005년 3월로... 빌리코건을 정말 좋아했는데..
혁오를 듣다보니.. 또 인디한 맛? 을 생각하다가 이 팀이 떠올라버렸다.. 이 곡은 듣고 있으면 2014년 4월로 가는 것 같다. 한창 매쓰하고 인디하고 그런것들 좋아했었는데.. 특히 이곡을 많이 들었던것 같다...
이건 그냥 최근 폴리피아의 어긋나는 맛? 에 대해 생각하다가 급 국내 아티스트를 떠올려봤다. 이때는 참 화이티스트보이 얼라이브 같은 느낌 쬐금 나는 것만해도 좋다고 생각했었는데 요즘 뭐하고 사나..
그래서 매일음악이란걸 새해 첫날부터 시작했는데.. 흐름을 어떻게 잡을까 하다가 비교적 최근에 그냥 재밌게 들었던 곡을 떠올려봤다. 너무 음악을 안듣고 있었나.. 아무튼 이 곡이 생각났다. 옛날예적 폴리피아 생각하면 참 많이 좋아졌다??
24년부터 그냥 매일 생각나는 음악을 정리 해놔야겠다는 생각을 했다. 음악은 좋아하지만.. 나이를 먹어가니까 점점 음악을 듣지 않게된다. 그래서 겸사겸사.. 그림도 한장씩 그리면 좋겠다고 생각했다. 1월1일부터 실천해보았다. 아무튼 첫곡을 뭐로 할까.. 생각하다가 맨날 뒤늦은 후회를 하니까 같은 제목의 곡이 생각났다.. 어떤 곡들은 다시 들으면 그 곡을 즐겨 듣던 때로 이동하는 느낌이 든다. 이곡은 매번 2008년 군시절 휴가나왔을때가 생각이 난다. 강인오 기타리스트님은 검색해봐도 나오는 것도 없고 홈페이지는 마치 05년으로 돌아간것처럼 남아있던데,, 심지어 유튜브에도 영상이 거의 없다. 이 곡은 다행히? 그 당시 앨범 CD를 파일로 꺼내놨기에 아직도 들을 수 있다.. 안타깝게도 유튜브에 이 곡 영상 조..
함수의 매개변수는 적을수록 좋다. 매개변수가 많다는 것은 함수가 여러가지 일을 한다는 증거이므로 바람직하지 않다. 이상적인 함수는 한가지 일만 해야 하며 가급적 작게 만들어야 한다. 따라서 매개변수는 최대 3개 이상을 넘지 않는 것을 권장한다. 만약 그 이상의 매개변수가 필요하다면 하나의 매개변수를 선언하고 객체를 인수로 전달하는 것이 유리하다. 모던자바스크립트 딥다이브 - 172p 함수가 외부 상태를 변경하면 상태 변화를 추적하기 어려워진다. 따라서 함수 외부 상태의 변경을 지양하는 순수 함수를 사용하는 것이 좋다. 비순수 함수는 코드의 복잡성을 증가시킨다. 비순수 함수를 최대한 줄이는 것은 부수 효과를 억제하는 것과 같다. 함수형 프로그래밍은 순수 함수와 보조 함수의 조합을 통해 외부 상태를 변경하는..
휴 레벨0 이걸 이렇게 풀다니 아는 메소드들인데도 생각이 안났다.. forEach forEach 는 좋지 않다고 생각했건만 아무튼 좋은 답은 function solution(s1, s2) { const intersection = s1.filter((x) => s2.includes(x)); return intersection.length; } 스프레드연산자와 set을 이용하는 독특한(?)방법도.. function solution(s1, s2) { const concat = [...s1, ...s2]; const setConcat = Array.from(new Set(concat)); return concat.length - setConcat.length; }
일단 나는 비전공에 학생때 문과 + 수포자 + 예체능 이었다. 등차수열 등비수열이 뭔지부터 알아야 했다... 등차수열 : 차(공차)가 같은 수가 줄지어 있는것... 첫째항에 일정한 수를 더해서 얻은 항 등비수열 : 비(공비)가 같은 수가 줄지어 있는것... 첫째항에 일정한 수를 곱해서 얻은 항 1,2,3,4,5 에서 공차는 1 1,2,4,8,16 에서 공비는 2 그렇다고 한다... 계산은 어렵지 않았다.. function solution(common) { var answer = 0; const oneTwo = common[1] - common[0]; const twoThree = common[2] - common[1]; //등차면 if(twoThree === oneTwo){ answer = common[..
어우 힘들었다 ㅠㅠ 어찌저찌 풀긴했는데.. 붕대감기 function solution(bandage, health, attacks) { const t = bandage[0]; const x = bandage[1]; const y = bandage[2]; let currHealth = health; let curAttack = 0; for ( const e of attacks ){ const attackTime = e[0]; const damage = e[1]; const timeDiff = attackTime - curAttack - 1; const success = Math.floor(timeDiff / t); let get = timeDiff * x + success * y; currHealth += ..
2시간 이것저것 헤메다가 못 풀어서 선생님 불렀다 ㅠㅠ 무슨 옹알이가 이렇게 어려워!! 주어진 배열 ["aya", "yee", "u", "maa", "wyeoo"]; ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"]; 문제 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 아무튼 이런 문제인데... 정규식을 안쓰고 해볼려다가 사실 정규식 모름 처음에 작성한 답은 산으로 가서 버렸고..
문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 strings n return ["sun", "b..
코테를 처음 풀어봤다.. 생각보다 어려웠다 ㅜ,ㅜ 문제 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호 가로 길이 세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑..
안녕하세요! JavaScript의 클로저(closure)에 대해 설명드리겠습니다. 클로저의 개념: 클로저는 JavaScript의 강력한 기능 중 하나로, 함수가 선언될 때의 렉시컬 환경(Lexical Environment)에 대한 참조를 유지하는 함수를 말합니다. 이를 통해 함수는 자신이 선언될 당시의 환경 밖에서 호출되더라도 그 환경에 접근할 수 있습니다. 클로저의 특징: 외부 함수의 변수 접근: 클로저를 통해 내부 함수는 외부 함수의 변수에 접근할 수 있습니다. 은닉화와 캡슐화: 외부에서 접근할 수 없는 private 변수를 만들 수 있습니다. 상태 유지: 함수가 호출될 때마다 새로운 환경이 생성되지 않고, 기존 환경을 유지할 수 있습니다. 클로저의 예시: function makeCounter() {..
라이브러리 같은거 쓰는데 걍 import 했더니 window is not defined 어쩌구 할 때 하라는대로 import 했는데 안될 때 window가 없다고 해서 client 컴포넌트에서 import 했더니 브라우저에서는 되는데 서버측 window is not ... 일 때 1번 해결책 : next/dynamic "use client" import dynamic from 'next/dynamic'; const 작명 = dynamic(() => import('위치'), {ssr: false}); // 아래쪽에서 // 이런식으로 쓰면됨 그래도 안될 때 2번 해결책 useEffect(() => { import('위치') .then((module) => { const 작명 = module().default..
tsconfig.json 프로젝트 폴더에 만들고, { "compilerOptions": { "target": "es5", "module": "commonjs", } } 어떤 버전으로 컴파일 할 건지 명시 잘모르겠으면 es5 commonjs 하면됨 { "compilerOptions": { "target": "es5", "module": "commonjs", "noImplicitAny": true, "strictNullChecks": true } } noImplicitAny : any 타입 에러띄워줌 strictNullChecks : undefined, null 조작하면 에러띄워줌 기타 다른옵션들 { "compilerOptions": { "target": "es5", // 'es3', 'es5', 'es20..
물론입니다! enum은 열거형(Enumeration) 타입으로, 타입스크립트에서 일련의 관련된 값들을 친숙한 이름으로 그룹화할 수 있게 해줍니다. 이를 통해 코드의 가독성과 유지 보수성을 향상시킬 수 있습니다. 타입스크립트의 enum은 몇 가지 중요한 특징을 가지고 있습니다. 기본 Enum 사용 기본적으로, enum은 0부터 시작하여 멤버들의 번호를 할당합니다. 멤버에 수동으로 값을 할당하지 않으면 자동으로 증가합니다. enum Color { Red, // 0 Green, // 1 Blue // 2 } let c: Color = Color.Green; 이 경우 Color.Green은 1입니다. 수동 값 할당 enum의 각 멤버에 수동으로 값을 할당할 수 있습니다. 값은 숫자일 수도 있고, 문자열일 수도 ..