본문 바로가기

공부 정리346

[프로그래머스] 블록 게임 javascript 문제 블록게임 프렌즈 블록이라는 신규 게임이 출시되었고, 어마어마한 상금이 걸린 이벤트 대회가 개최 되었다. 이 대회는 사람을 대신해서 플레이할 프로그램으로 참가해도 된다는 규정이 있어서, 게임 실력이 형편없는 프로도는 프로그램을 만들어서 참가하기로 결심하고 개발을 시작하였다. 프로도가 우승할 수 있도록 도와서 빠르고 정확한 프로그램을 작성해 보자. 게임규칙 아래 그림과 같이 1×1 크기의 블록을 이어 붙여 만든 3 종류의 블록을 회전해서 총 12가지 모양의 블록을 만들 수 있다. 1 x 1 크기의 정사각형으로 이루어진 N x N 크기의 보드 위에 이 블록들이 배치된 채로 게임이 시작된다. (보드 위에 놓인 블록은 회전할 수 없다). 모든 블록은 블록을 구성하는 사각형들이 정확히 보드 위의 사각형에 맞도.. 2022. 12. 14.
[javascript] string.charAt(i) vs string[i] 비교 학습 이유 문자열을 인덱스로 접근할 때 두 방법에 차이가 있었다. 학습 내용 "abc".charAt(0) ==> a "abc".charAt('dsafdsfasdf') ==> a "abc"[0] ==> a "abc"['asdfadsfa'] ==> undefined "abc".charAt(5) ==> "" "abc"[5] ==> undefined 한 줄 정리 charAt()은 범위 밖에 벗어난 인덱스를 찾을 경우, 공백 출력(숫자 말고 다른 걸 입력하면 그냥 첫 글자를 출력함) [index] 방식은 undefined 출력 참고 : https://thisthat.dev/string-char-at-vs-string-bracket-notation/ 2022. 9. 8.
[프로그래머스] 순위 문제 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요. 접근 플로이드 워셜을 이용해서 모든 점간의 연결관게를 파악할 수 있습니다. 어떠한 점에서 연결할 수 없는 점이 존재한다 => 순위를 예측할 수 없다. 코드 function solut.. 2022. 9. 2.
[javascript] forEach vs map Array.forEach() vs Array.map() 최근에 forEach, map과 관련하여 피드백을 받았다. 일단 두 메서드의 가장 큰 차이점은, map - 새로운 배열을 리턴함 forEach - 새로운 배열을 리턴하진 않음 예를들면, forEach는 배열을 출력하고 싶을 때 처럼 새로운 배열을 리턴할 필요가 없을 때 사용된다. 하지만 ? Array.map도 배열을 출력하는데 사용될 수 있다. 결국 forEach와 map은 똑같은 결과물을 만들어낼 수도 있지만, 구분해서 쓰는 이유가 있다. 해당 코드를 유지보수 할 때 이 코드가 유용한 것을 리턴하냐? 안하냐 이 점을 확실하게 알 수 있다. 2줄정리 forEach -> 새로운 배열 리턴안함, side-effect용 map -> 새로운 배열 리턴함 2022. 8. 22.
[regex] 정규표현식 공부이유? 은근히 자주 쓰이는데 매번 얕게 공부해서 까먹는 경우가 많았음. 이번기회에 확실히 정리하였다. 일단 자바스크립트 기준으로 공부하였다 먼저 regex는 / / 안에 작성을 함. 1.기본 abc 라는 문자를 찾고싶으면 그대로 /abc/라고 작성하면됨. 1.5 기본 2 []는 한 글자를 의미함 [ABC]를 적으면 A B C 를 찾을 수 있음 [^ABC]를 쓰면 ABC외 문자를 찾아냄 대괄호 안 ^는 제외의 의미 2.정량자 ? : 0번이나 1번 나타남 + : 1번이나 무제한 * : 0번이나 무제한 3. 정량자 활용 a로 이루어진 문자를 모두 찾을 때 /[a]+/ 라고 입력하면 aaa aa aa a a a aaa 모두 찾을 수 있음 4.^ & ^는 시작을 의미, &는 끝을 의미함 /^A[B]A&/ 는 .. 2022. 8. 21.
typescript 이점, 타입추론 typescript의 이점(쓰는 이유) 자바스크립트를 사용하면 런타임에러가 발생하여 오류가 어디서 났는지, 찾기 힘들 수 있지만 타입스크립트를 사용하면 컴파일 시, 오류를 감지하여 에러를 발견할 수 있다 ! 타입추론 let number1 = 5; let number1: number = 5; 위 방식은 타입을 추론하여 적용할 것이고, 아래 방식은 명시적으로 타입을 입력하여 준 것 입니다. 타입추론을 하여도 정상적으로 타입이 정상적으로 지정되기 때문에, let number = 5; number="haha" 같은 코드도 에러가 발생합니다. 2022. 8. 13.
반응형